Java 循环中的ArrayList
我的问题是,我是否可以对ArrayList执行相同的操作,即要求用户输入名称和价格并访问对象成员并设置名称和价格,或者我必须先创建对象并将其传递给ArrayListJava 循环中的ArrayList,java,arrays,arraylist,Java,Arrays,Arraylist,我的问题是,我是否可以对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
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
}
第二个场景显然更好,更易于维护,可能更易于调试
此外,最重要的是,当您在构建对象-
项
时遇到异常时,它在场景中的表现会更好。第一种方案需要额外的回滚机制,因为对象已经存在于数组中。第二种方案显然更好,更易于维护,可能更易于调试
此外,最重要的是,当您在构建对象-
项
时遇到异常时,它在场景中的表现会更好。第一种情况需要额外的回滚机制,因为数组中已存在对象。从性能角度来看,第二种情况更可取。第二种情况可能更好,但我不推荐。第一种情况很危险,例如,如果用户未输入完整或有效的数据,列表将包含不完整/无效的对象。还有一点线程安全性差,在一段时间内,列表包含不完整的数据。如果使用第二个,则项可以有final
字段。从性能角度来看,第二个更好。第二个更好,但我不推荐。第一个很危险,例如,如果用户没有输入完整或有效的数据,列表将包含不完整/无效的对象。还有一点线程安全性差,在一段时间内,列表包含不完整的数据。如果使用第二个,则项
可以有最终
字段,最好是
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);