从另一个 class 添加对象到 ArrayList
Adding objects to an ArrayList from another class
我正在尝试将对象从另一个文件添加到 ArrayList,但我得到的是 java.lang.NullPointerException
,即使我已经初始化了 ArrayList。这是具有我正在谈论的结构的代码示例。
//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 文件的对象添加到列表中。
您没有在父 class 中创建内部 class 的实例,只是为它创建了一个引用。
public InnerClass inner = new InnerClass(); // add the new here
我正在尝试将对象从另一个文件添加到 ArrayList,但我得到的是 java.lang.NullPointerException
,即使我已经初始化了 ArrayList。这是具有我正在谈论的结构的代码示例。
//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 文件的对象添加到列表中。
您没有在父 class 中创建内部 class 的实例,只是为它创建了一个引用。
public InnerClass inner = new InnerClass(); // add the new here