2015-04-25 54 views
1

我想從另一個文件添加對象到ArrayList,但即使已初始化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文件中將對象添加到列表中。

+2

提示:這是不是*列表*這是'null'。這是你對那個清單的參考*。 – Makoto

回答

1

您沒有在父類中創建內部類的實例,只創建了它的引用。

public InnerClass inner = new InnerClass(); // add the new here 
+0

謝謝!不能相信我忽視了這個... –

相關問題