避免覆盖 ArrayList 中的对象 [英] Avoiding overwriting objects in ArrayList
问题描述
堆垛机.我一直在网站上搜索我的问题,但没有找到我要找的东西.我被这个代码困住了:
Stackers. I've been searching the site for my question, but didn't find what I was looking for. I'm stuck with this code:
public class Users{
ArrayList<ValidateUser> personer = new ArrayList<ValidateUser>();
ValidateUser newUser = new ValidateUser();
newUser.setUser("administrator");
newUser.setPass("asdf123");
newUser.setBalance(0.8);
newUser.setType("admin");
personer.add(newUser);
有一个不错的数组列表,但是如果我向 ArrayList 添加更多newUsers",它们似乎会相互覆盖.我不想创建 newUser1、newUser2 对象,因为在我的程序后面,我必须能够直接从程序中添加新用户.
Got a nice array-list going on, but if i add more "newUsers" to the ArrayList, they seem to overwrite each other. I don't want to make a newUser1, newUser2 object, since later in my program, I have to be able to add new users, directly from the program.
如何实现这一目标?
验证用户:
public class ValidateUser {
private String username;
private String password;
private double balance;
private String role;
public void setUser(String user) {
username = user;
}
public void setPass(String pass) {
password = pass;
}
public void setBalance(double rating) {
balance = rating;
}
public void setType(String type) {
role = type;
}
public String getUsername() {
return username;
}
public String getPassword() {
return password;
}
public double getBalance() {
return balance;
}
public String getRole() {
return role;
}
}
推荐答案
如果我理解正确,您是通过这种方式添加新用户的:
If I understood right you're adding new users this way:
ValidateUser newUser = new ValidateUser();
newUser.setUser("administrator");
newUser.setPass("asdf123");
newUser.setBalance(0.8);
newUser.setType("admin");
personer.add(newUser);
newUser.setUser("different admin");
personer.add(newUser);
但是这样对象指向同一个引用,因此您必须执行以下操作来实例化一个新对象:
however this way the object points to the same reference, thus you must do the following to instantiate a new object:
newUser = new ValidateUser();
newUser.setUser("foo");
personer.add(newUser);
这篇关于避免覆盖 ArrayList 中的对象的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!