0

こんにちは、g.getid(id1)行でnullポインター例外が発生しましたが、修正方法がわかりません。

Iterator<String> it1 = players1.iterator();
Iterator<String> it2 = players2.iterator();
while (it1.hasNext()&&it2.hasNext()) {
    String id1 = it1.next();
    g.getID(id1); //NULL point exception?  :(

    //g.getId finds the player with the unique ID.
    String id2 = it2.next();
    g.getID(id2); //NULL referance exception? :(
}

私の目的は、players1とplayer2のイテレータを構成するリストから文字列を取得することであり、参照はg.getId(id1)にあります。およびg.getId(id2); ループを通過するとき、各IDは異なります。

gはゲームクラスの参照です。

保護されたゲームg; ゲームクラスでは、getIdのメソッドは次のとおりです。TgetID(String id);

4

2 に答える 2

0

おそらくg == null-デバッガを使用しようとしましたか?または、おそらくSystem.out.println(g)ループの直前ですか?

編集:あなたが編集したものを見ると、gがnullの場合は間違いありません。単に書くだけで、ゲームのインスタンスをそこに置くと穴を開ける可能性protected Game gのある「ゲーム型」の変数が作成されます。ただし、これを行うまではnullのみが存在します。

g = new Game();    // potentially, Game() takes some arguments too.
于 2013-03-22T06:38:28.997 に答える
0

さらに情報が必要な場合は、完全なコードを追加するか、試してみてください

ゲーム g = 新しいゲーム();

于 2013-03-22T06:45:17.053 に答える