java - 避免覆盖 ArrayList 中的对象

标签 java arraylist

堆垛机。我一直在网站上搜索我的问题,但没有找到我要找的东西。我坚持使用这段代码:

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 对象,因为稍后在我的程序中,我必须能够直接从程序中添加新用户。

如何实现?

验证用户:

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;
}

最佳答案

如果我没理解错的话,您是通过这种方式添加新用户的:

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);

但是这样对象指向相同的引用,因此您必须执行以下操作来实例化一个新对象:

 newUser = new ValidateUser();
 newUser.setUser("foo");
 personer.add(newUser);

关于java - 避免覆盖 ArrayList 中的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20168524/

相关文章:

java - JSR 310 : Converting between time zones

java - junit 测试套件

java - ArrayList 与 LinkedList 的性能因机器而异?

Java:从数组列表中获取字符串

java - 字符串无法转换为 java 错误

java.lang.ClassNotFoundException : Didn't find class "android. View .View$OnUnhandledKeyEventListener

java - 使用多线程顺序打印语句

java - 在 ArrayList 中查找所需数量的最小 double

java - 单个数组中的两个值从 json 组合起来

android ArrayList 清理文本以通过电子邮件共享