在java中创建一个类实例数组

时间:2012-08-19 14:11:15

标签: java arrays

我对java很新。

我希望有一个类的数组,其长度可能会在运行时变化

代码:

class Num
{
  ......
  ......
}

如果Num是我的班级,我将如何创建新实例。我目前的代码非常类似于:

Num n[ ];
int length=0;
.
.
.
n[length++]=new Num();  

从这段代码中我得到错误:

"Uncompilable source code - variable factors might not have been initialized"

3 个答案:

答案 0 :(得分:7)

您可以使用ArrayList来实现此目的。

ArrayList<Num> myListOfNum = new ArrayList<Num>();

然后在需要时继续添加Num的对象。

Num num1 = new Num();
myListOfNum.add(num1);
Num num2 = new Num();
myListOfNum.add(num2);

编辑:

要访问,您可以使用get()方法以及特定索引。

Num tempNum = myListOfNum.get(indexGoesHere);

答案 1 :(得分:3)

在尝试设置数组之前,您需要首先创建数组。

 Num[] n = new Num[SIZE];

请注意,Num n[];只是声明了Num[]类型的变量,其标识符为n

但请注意,在java中 - 数组具有固定长度。如果您正在寻找可变长度数组,则可能不是您需要的数组。 @KazekageGaara提出了另一种选择 - 为此目的。

答案 2 :(得分:2)

使用Java Collection

如果序列更重要,

List会很好。

Set如果唯一性很重要

键值对很重要时

Map

List<MyClass> arrList = new ArrayList<MyClass>();

arrList.add(mobj1);
arrList.add(mobj2);
arrList.add(mobj3);

for(MyClass m : arrList){

      // m is the Values of arrList stored in

 }