【问题标题】:How can you create multiple objects for the same class without knowing the amount of objects needed?如何在不知道所需对象数量的情况下为同一个类创建多个对象?
【发布时间】:2019-06-13 00:24:51
【问题描述】:

我希望能够给程序一个介于 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)
}

有没有更好的方法来做到这一点?我还在学习编码,所以我不是最擅长的。有人说了一些关于对象数组的事情,但我不知道那是什么,或者它是否与这个问题有关。谢谢。

【问题讨论】:

标签: java object


【解决方案1】:

根据输入,您可以在 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));
}

【讨论】:

    【解决方案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 初学者书籍或教程的数组部分)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多