2017-04-18 3 views
-3

どのクラスからでもアクセスするための1つのリストが必要です。しかし、別のクラスからリストに到達しようとすると、NullPointerExceptionがスローされます。私はコンストラクタでそれを解決しようとしましたが、この場合、メインクラスのオブジェクト(リストが格納されている)を持つすべてのクラスは、constuctorを呼び出すことによって新しいリストを作成します。しかし、私は他のクラスからアクセス、変更などが可能なユニークなリストが必要です。どうすればこれを管理できますか?すべてのクラスの1つのArrayList

+3

おそらくもっと情報を提供することでこれを管理することができます。 a [mcve]。現在のところ、実際にあなたが何をやっているのか、どの問題を解決しようとしているのかは分かりません。何らかのコードがそれを明確にする可能性が非常に高いです。 – Thomas

+6

あなたは '静的' 'リスト'を探していますか? – SomeJavaGuy

+0

static、singletonのようなキーワードを探してください 問題が残っていても問題が解決したら、コードを投稿してください。 –

答えて

0

私はそれを持っています。私はArrayList staticを宣言する必要がありました。どうもありがとうございます!

-1

シングルトンクラスの概念を使用してください。

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は、値を入れるために同じリストを取得しています。

関連する問題