用Java初始化对象数组

0 java arrays initialization array-initialization

我需要帮助来理解如何在 Java 中初始化类的对象。

我的代码是这样的:

...
Test t[] = null;
...
for (i=0;i<20;i++)
   t[i] = new Test(10,20);
...
Run Code Online (Sandbox Code Playgroud)

当我在 Eclipse 中编写上面的代码时,它给了我一个错误,说“空指针访问:变量数据在这个位置只能为空”。

我尝试了所有纠正错误的方法,但没有运气。

Ale*_*ing 5

您需要为数组本身分配空间,然后初始化它们的元素。

Test[] t = new Test[20];
for (i = 0; i < 20; i++) {
    t[i] = new Test(10, 20);
}
Run Code Online (Sandbox Code Playgroud)

如果数组的长度是可变的,您可以像传递任何其他变量一样传递值。

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

初始化数组后,数组大小是固定的,但您始终可以使用该arr.length属性获取数组的长度。