2016-03-31 14 views
3

誰かがなぜ私の配列リストに追加するときにnullポインタを取得しているのか理解してくれたら助かりますか?私はArrayListがそれに事を追加していないようですが、クリックしたときにボタン上のテキストを変更するようにしようとしていますか?追加時にjava arraylist nullポインタ例外

public class Game { 

private GUI gui; 
private ArrayList<String> pairs; 
boolean clicked; 

public Game() { 
    gui = new GUI(this); 
    clicked = false; 
    ArrayList<String> pairs = new ArrayList<String>(); 

} 

public void addPairs() { 
    pairs.add("dog"); // where i get the null pointer 
    pairs.add("dog"); 
} 

答えて

3

あなたはshadowingあなたGameコンストラクタでクラスフィールドpairsです。あなたはクラスのメンバを初期化する必要があります

ArrayList<String> pairs = new ArrayList<String>(); 

pairs = new ArrayList<>(); 
2

のようなダイヤモンドのオペレータと

pairs = new ArrayList<String>(); 

または

に変更 pairs

this.pairs = new ArrayList<>(); // this may be omitted 

新しいローカルリストを作成する代わりに

ArrayList<String> pairs = new ArrayList<String>(); 
関連する問題