gpt4 book ai didi

java - 访问循环中返回的对象

转载 作者:行者123 更新时间:2023-12-02 06:41:25 26 4
gpt4 key购买 nike

我有一个简单的问题,现在我有一个返回填充的 DTO 对象的方法,在另一个类中我调用该方法,然后尝试访问返回对象上的一些值。我无法弄清楚完成此操作的语法应该是什么。它正在返回“结果”。我当前收到错误:

“空指针访问:变量结果在此位置只能为空”

我返回的 DTO 包含一个列表,我想访问该列表上的值之一。下面是我的代码片段。感谢您的帮助!

<小时/>
for (Integer i = 0; i < array.size(); i++) {
// System.out.println(array.get(i));

GetAccountRewardSummaryRequest request = new GetAccountRewardSummaryRequest();
AccountRewardSummaryDTO result = null;

request.accountKey = new AccountIdDTO(array.get(i));

RewardServicesImpl rewardServicesImpl = new RewardServicesImpl();

rewardServicesImpl.getAccountRewardSummary(request);

// This will return an AccountRewardSummaryDTO, print out and see if it is returning properly

System.out.println(result.rewards.get(6));

// System.out.println(request.accountKey);

}

最佳答案

您的问题尚不清楚,但我怀疑:

rewardServicesImpl.getAccountRewardSummary(request);

应该是:

result = rewardServicesImpl.getAccountRewardSummary(request);

如果您想使用从方法返回的值,您需要对其进行一些处理。

如果您在需要时才声明 result 变量,那么您的代码会更清晰 - 并且在这里使用 Integer 代替 是没有意义的int。此外,除非您确实无法重用该服务,否则您不妨创建该服务一次:

RewardServices service = new RewardServicesImpl();
for (int i = 0; i < array.size(); i++) {
GetAccountRewardSummaryRequest request = new GetAccountRewardSummaryRequest();
request.accountKey = new AccountIdDTO(array.get(i));
AccountRewardSummaryDTO result = service.getAccountRewardSummary(request);
System.out.println(result.rewards.get(6));
}

此外,如上所述,名为 array 的变量显然不是数组变量,这一事实令人困惑。

关于java - 访问循环中返回的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19101499/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com