如何在不知道所需对象数量的情况下为同一类创建多个对象?

时间:2019-01-18 17:44:32

标签: java object

我希望能够给程序一个2到10之间的数字,并且它可以在Java中的同一类中创建许多对象。

我不确定执行此操作的最佳方法。我能想到的唯一方法是,我制作10条if / else if语句,然后以这种方式制作对象。

if (num == 2){
  Class object1 = new Class(1)
  Class object2 = new Class(2)

}
else if (num == 3){
  Class object1 = new Class(1)
  Class object2 = new Class(2)
  Class object3 = new Class(3)
}

.
.
.

else if (num == 10){
  Class object1 = new Class(1)
  Class object2 = new Class(2)
  Class object3 = new Class(3)
  Class object4 = new Class(4)
  Class object5 = new Class(5)
  Class object6 = new Class(6)
  Class object7 = new Class(7)
  Class object8 = new Class(8)
  Class object9 = new Class(9)
  Class object10 = new Class(10)
}

有更好的方法吗?我仍在学习编码,所以我不是最好的。有人说了一些关于对象数组的东西,但我不知道那是什么,或者它是否与这个问题有关。谢谢。

2 个答案:

答案 0 :(得分:4)

给出输入后,您可以在for循环内创建对象,并将其逐个添加到ArrayList中。

List<Class> list = new ArrayList<>();

for(int i = 0; i < n; i++){ // n is the number of objects to be created.
   list.add(new Class(i+1));
}

答案 1 :(得分:2)

使用数组:

Class[] objects;

然后

objects = new Class[num];
for (int i = 1; i <= num; ++i) {
    objects[i-1] = new Class(i);
}

请注意,数组索引从0开始。

通过Oracle Java网站上的arrays tutorial(或者,当然,任何初学者的Java书籍或教程的arrays部分)都值得。