2 回答
TA贡献1842条经验 获得超21个赞
实际上,我更愿意写评论,但由于我没有足够的声誉来做到这一点,所以我会写下我的意见作为答案。我希望我能有所帮助。
在我看来,范围好像有问题。如果您删除所有“遥不可及”的代码,getList()它看起来像这样
public void method1(){
Object1 obj = new Object1(){}
obj.execute(); // Suppose execute method is pre-defined and just means it'll execute the `innerMethod`.
System.out.println(getList().get(0).getName()); // This returns null for the getList().
}
似乎没有什么getList()可以得到的,所以也许这就是你的问题的原因。
TA贡献1809条经验 获得超8个赞
public void method1(){
Object1 obj = new Object1(){
@Override
public void innerMethod(Object response){
setList(response.list);
// Displaying the result of the getter is for sample purposes
System.out.println(getList().get(0).getName()); // This works and prints out the name of the first item.
}
};
obj.execute(); // Suppose execute method is pre-defined and just means it'll execute the `innerMethod`.
System.out.println(obj.getList().get(0).getName()); // <-- ***********
}
我认为您从错误的对象调用 getList() 。如果您没有指定要从中调用方法的对象,则假定 this.list(),在这种情况下,您将获得未初始化的数据成员。
添加回答
举报