1

私はグローバル配列を持っています。あるメソッドで何かを保存した後、その配列からそれを表示すると、エラー NullPointerException が発生します。配列はオブジェクト型です。コードはこんな感じ

class Something {
   public CoordinatesObject[] coordinates;

   Something() {
      coordinates = new CoordinatesObject[4];
   }

   public String myMethod() {
      if (coordinates.length==0){
      coordinates[0] = new CoordinatesObject(0,0);
      }
   }
   return Integer.toString(coordinates[0].getX());
}

どうしたの?

申し訳ありませんが、コードを更新しました。コンストラクターで新しい配列を作成しました

4

4 に答える 4

1

次の行で配列を作成しました。

coordinates = new CoordinatesObject[4];

そして、そのような CoordinatesObject を作成しようとしています:

if (coordinates.length==0){
     coordinates[0] = new CoordinatesObject(0,0);
}

ただし、coordinates.length は 4 に等しくなり、CoordinatesObject クラスのオブジェクトが作成されないことを意味します。

于 2012-04-07T17:19:49.737 に答える
0

newでアレイを作成する必要もあります。

于 2012-04-07T17:02:01.780 に答える
0

現在、NULL参照があります。前のポスターが指摘しているように、配列用のスペースを定義して作成する必要があります。

于 2012-04-07T17:02:37.977 に答える
0

実際に配列にスペースを割り当てる必要がありますが、今は何も参照していません。

また、配列は固定長であることにも注意してください。必要に応じて、代わりにコレクション (リストなど) を使用することを検討してください。

于 2012-04-07T17:00:31.030 に答える