0

Java でクラスのオブジェクトを初期化する方法を理解するのに助けが必要です。

私のコードは次のようなものでした:

...
Test t[] = null;
...
for (i=0;i<20;i++)
   t[i] = new Test(10,20);
...

上記のコードを Eclipse で記述すると、「Null Pointer Access: The variable data can only be null at this location」というエラーが表示されます。

エラーを修正するあらゆる方法を試しましたが、うまくいきませんでした。

4

6 に答える 6

5

配列自体にスペースを割り当ててから、それらの要素を初期化する必要があります。

Test[] t = new Test[20];
for (i = 0; i < 20; i++) {
    t[i] = new Test(10, 20);
}

配列の長さが可変の場合、他の変数と同じように値を渡すことができます。

int arraySize = 35;
Test[] t = new Test[arraySize];
for (i = 0; i < arraySize; i++) {
    t[i] = new Test(10, 20);
}

配列のサイズは初期化すると固定されますが、arr.lengthプロパティを使用して配列の長さをいつでも取得できます。

于 2015-01-27T05:17:49.943 に答える
1

以下のように配列 test[]を初期化してから使用する必要があります

Test[] t = new Test[20];
于 2015-01-27T05:31:20.817 に答える
-1

試す

Test[] t = new Test[20];

t を null に設定すると、存在しない配列にアクセスしようとします。

于 2015-01-27T05:20:35.603 に答える