gpt4 book ai didi

java - 如果您要在循环中创建一个对象,它会在每次迭代中不断重新创建该循环吗?

转载 作者:行者123 更新时间:2023-12-04 10:03:47 24 4
gpt4 key购买 nike

while(!input.equals("-1")){

plantName = "";
plantCost = "";
colorOfFlowers = "";
isAnnual = false;

if (input.charAt(0) == 'p') {
Plant plant = new Plant();
String[] temp = input.split(" ");
plantName = temp[1];
plantCost = temp[2];
plant.setPlantName(plantName);
plant.setPlantCost(plantCost);
myGarden.add(plant);

}else {
Flower flower = new Flower();
String[] temp = input.split(" ");
flower.setPlantName(temp[1]);
flower.setPlantCost(temp[2]);

flower.setPlantType(Boolean.parseBoolean(temp[3]));
flower.setColorOfFlowers(temp[4]);
myGarden.add(flower);

}
input = scnr.nextLine();
}

这是我的意思的一个例子。在 if 语句的开头我创建了一个植物对象,它最终使程序按照我想要的方式工作,我只是不确定它为什么工作。我的想法是,通过在 while 循环内创建对象,它会在循环结束时“删除”并创建一个新对象。

再说一次,虽然我不确定,因为每次我问我的教授关于任何概念的问题时,他都会告诉我来这里问一个人。
提前致谢。

最佳答案

您正在保存一个副本,以便旧对象被覆盖。

Object[] a = new Object[10];

for (int i = 0; i < 10; i++) {
// ob gets copied over with the new object
Object ob = new Object();
// but it is saved here
a[i] = ob;
}

这和这没什么两样。
int[] n = new int[10];
for (int i = 0; i < 10; j++) {
int x = i*10;
n[i] = x; // x is saved in array.
}

关于java - 如果您要在循环中创建一个对象,它会在每次迭代中不断重新创建该循环吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61691317/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com