Java 在循环中访问返回的对象

Java 在循环中访问返回的对象,java,object,return,Java,Object,Return,我有一个简短的问题,现在我有一个方法返回一个填充的DTO对象,在另一个类中我调用该方法,然后尝试访问返回对象上的一些值。我很难弄清楚应该用什么语法来实现这一点。它正在返回“结果”。我当前收到一个错误: “空指针访问:变量结果只能在此位置为空” 我返回的DTO包含一个列表,我想访问该列表中的一个值。下面是我的代码片段。谢谢你的帮助 for(整数i=0;i

我有一个简短的问题,现在我有一个方法返回一个填充的DTO对象,在另一个类中我调用该方法,然后尝试访问返回对象上的一些值。我很难弄清楚应该用什么语法来实现这一点。它正在返回“结果”。我当前收到一个错误:

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

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


for(整数i=0;i
你的问题不清楚,但我怀疑:

rewardServicesImpl.getAccountRewardSummary(request);
应该是:

result = rewardServicesImpl.getAccountRewardSummary(request);
如果要使用从方法返回的值,则需要对其进行处理

如果在需要时才声明
结果
变量,那么代码会更清晰,而且在这里使用
整数
而不是
int
也没有意义。此外,除非您确实无法重用该服务,否则您最好创建一次:

RewardServices服务=新的RewardServicesImpl();
对于(int i=0;i

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

result
为空。您将其设置为null。除非将其设置为其他值,否则它只能为null。没有任何背景,你还不清楚你在问什么。谢谢!是的,现在看不清楚,但你的解释很完美。
result = rewardServicesImpl.getAccountRewardSummary(request);
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));
}