我正在尝试从另一个文件向ArrayList添加对象,但即使我初始化了ArrayList,我也得到java.lang.NullPointerException
。这是一个代码示例,其中包含我正在讨论的结构。
//ObjectOne.java
import java.util.ArrayList;
public class ObjectOne {
public InnerClass inner;
class InnerClass {
ArrayList<String> list = new ArrayList<String>();
public void addString(String str) {
list.add(str);
}
}
public void addStr(String str) {
inner.list.add(str);
}
}
这是第二个文件:
//ObjectTwo.java
public class ObjectTwo {
public static void main(String args[]) {
ObjectOne obj = new ObjectOne();
obj.addStr("Test string added");
}
}
我在InnerClass
中初始化了ArrayList,但是当我尝试在另一个java文件中添加一个项目时,我得到了一个NullPointerException
。我有这个文件结构的原因是因为我正在使用GSON。为什么ArrayList list
表现得好像它从未被初始化?我的目标是能够从不同的java文件中将对象添加到列表中。
答案 0 :(得分:1)
您没有在父类中创建内部类的实例,只为它创建了一个引用。
public InnerClass inner = new InnerClass(); // add the new here