[英]ArrayList inside a loop
我的问题是我可以对 ArrayList 做同样的事情,它要求用户输入名称和价格并访问对象成员并设置名称和价格,或者我必须先创建对象并将其传递给 ArrayList?
public static void startMethod(Item[] itemsList, Scanner keyBoard){
for (int i = 0; i < itemsList.length; i++) { // for loop iterate 3 times
itemsList[i] = new Item(); // Create new object every time the loop iterate
System.out.println("Enter an item's name");
itemsList[i].setName(keyBoard.nextLine());
System.out.println("Enter an item's price");
itemsList[i].setPrice(keyBoard.nextDouble());
keyBoard.nextLine();// To avoid the skip line that is done by the nextLine() method
}
还是我需要先创建对象并传递整个对象? 例子
System.out.println("Enter a name");
String input = key.nextLine();
System.out.println("Enter a price");
double x = key.nextDouble();
Item itemList1 = new Item(input,x);
itemsList.add(itemList1);
第二种方案绝对更好、更易于维护并且可能更容易调试。
此外,最重要的是,当您在构造对象 - Item
时遇到异常时,它会在场景中表现得更好。 第一种情况需要额外的回滚机制,因为对象已经存在于数组中。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.