从另一个 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