Sharkmen:
Artículo ha name
, price
, condition
atributos. Quiero mantener el price
y condition
cambiar el accesorio name
.
Por el momento me di cuenta de esto creando nuevo objeto, pero creo que esto no es la mejor opción. Sólo quiero cambiar un campo de elemento ArrayList
public void modify(String name) {
for (Item i : item) {
if (i.getName().equalsIgnoreCase(name)) {
int position = item.indexOf(i);
System.out.println("New name: ");
String newName = in.nextLine();
Item updated = new Item(newName, i.getPrice(), i.getCondition(), i.getSize());
item.set(position, updated);
}
}
}
Ruslan:
Usted no tiene que insertar un nuevo elemento a ArrayList
public void modify(String name) {
for (Item i : item) {
if (i.getName().equalsIgnoreCase(name)) {
System.out.println("New name: ");
String newName = in.nextLine();
i.setName(newName);
}
}
}
Se supone que tiene métodos set para cada campo. A continuación, puede actualizar el nombre, precio, el tamaño de esta manera