我对java很新。
我希望有一个类的数组,其长度可能会在运行时变化
代码:
class Num
{
......
......
}
如果Num是我的班级,我将如何创建新实例。我目前的代码非常类似于:
Num n[ ];
int length=0;
.
.
.
n[length++]=new Num();
从这段代码中我得到错误:
"Uncompilable source code - variable factors might not have been initialized"
答案 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
}