2017-04-18 46 views
-3

我想要有一個從任何類訪問的列表。但是,當我試圖從另一個類到達列表時,它會拋出NullPointerException。我試圖用構造函數來解決它,但在這種情況下,每個具有主類對象(列表存儲位置)的類都通過調用構造函數來創建一個新列表。但我需要可以從其他類訪問,修改等的唯一列表。我怎麼能管理這個?所有類的一個ArrayList

+3

您可能會開始通過提供更多信息(例如,一個[mcve]。目前我不知道你究竟在做什麼,或者你試圖解決哪些問題 - 某種代碼很可能會澄清它。 – Thomas

+6

所以你正在尋找一個'靜態''List'? – SomeJavaGuy

+0

尋找關鍵詞,如:靜態,單身 試試看,當你仍然有問題,發佈一些代碼,我們可以幫你 –

回答

0

我懂了。我只需要聲明我的ArrayList static。非常感謝!

-1

使用Singleton類的概念。

class List 
{ 
    private static ArrayList<int> intlist; 
    private static List list; 

    //private constructor [singleton class] 
    private List(){ 
     intlist==new ArrayList<int>(); 
    }; 

    private static List getList() 
    { 
     if(this.list==null) 
      list=new List(); 

     return list; 
    } 

    public getIntList(){return this.intlist;} 
} 

class A 
{ 
    public void Test() 
    { 
     List l=List.getList(); 
     l.getIntList().add(1); 
    } 
} 

class B 
{ 
    public void Test() 
    { 
     List l=List.getList(); 
     l.getIntList().add(2); 
    } 
} 

現在A級和B級獲得相同的列表來放入值。

相關問題