声明具有不同名称的多个对象

时间:2015-06-29 20:31:19

标签: java class loops object

创建的对象数量因用户输入而异,因此如何在Java中使用for循环声明以下内容?

    MicroStep darkCalibMicro0 = new MicroStep();
    MicroStep darkCalibMicro1 = new MicroStep();
    MicroStep darkCalibMicro2 = new MicroStep();
    MicroStep darkCalibMicro3 = new MicroStep();
    MicroStep darkCalibMicro4 = new MicroStep();
    MicroStep darkCalibMicro5 = new MicroStep();

这些不能硬编码,必须根据用户输入的大小生成。

2 个答案:

答案 0 :(得分:2)

确定。我读错之后(我的英语不是最好的):

你想要做的是ArrayList,你可以这样做:

让我们说用户输入40。

Integer userInput = 40;
ArrayList<MicroStep> microStepList = new ArrayList<>();
for (int i = 0; i < userInput; i++) {
microStepList.add(new MicroStep());
}

这样你就可以获得一个大小为40的List,上面有40个MicroStep。然后,如果您想要访问任何这些对象,您可以这样做:

MicroStep m = microStepList.get(i);

答案 1 :(得分:1)

@Yayotrón的回答是正确的。这里有一种Java 8方式:

List<MicroStep> list = 
    IntStream.range(0, userInput)
    .mapToObj(i -> new MicroStep())
    .collect(Collectors.toList());