我仍然是Java的新手,我试图将特定字段的新值设置为arraylist中的现有对象。 我有一节课:
public class Client
private String firstName;
private String lastName;
//skip setters and getters
我使用
将对象添加到arraylistlistOfClients.add
现在我想只更新一个现有对象中的lastName。要使用Arraylist的索引选择所有对象中的一个,但仍然不知道如何仅更新这一个特定值。到目前为止,我已经尝试了
listOfClients.set
但它并没有顺利进行。 任何人都可以告诉我是否有任何方法只更新我的对象中的一个特定字段?
答案 0 :(得分:0)
由于您知道索引,因此可以尝试listOfClients.get(index).setLastName("value")
。
listOfClients.get(index)
获取对象。然后你可以用它的setter方法设置任何值。
答案 1 :(得分:0)
找到值的索引并使用以下命令设置:list.set(index_of_the value_to change,“value_to_update”);
以下是您在此处更新牛值的问题示例:
ArrayList nums = new ArrayList<>();
nums.add("Rat");
nums.add("cow");
nums.add("rabbit");
System.out.println(nums);
nums.set(1, "updated");
System.out.println(nums);
答案 2 :(得分:0)
public class Test {
public static void main(String[] args) {
List<Client> clientList=new ArrayList<Client>();
Client c1=new Client();
c1.setFirstName("First");
c1.setLastName("FirstLast");
clientList.add(c1);
System.out.println("First: "+clientList.get(0).getFirstName() +"-"+ clientList.get(0).getLastName());
//Modify by setter
clientList.get(0).setLastName("ModifyLast");
System.out.println("After"+clientList.get(0).getFirstName() +"-"+ clientList.get(0).getLastName());
}
public static class Client{
private String firstName;
private String lastName;
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
}
}
答案 3 :(得分:0)
您应该使用列表的get方法。
get方法返回此处指定位置的元素 列表。
按如下方式使用:
listOfClients.get(clientIndex).setFirstName(newFirstName);