Avoiding overwriting objects in ArrayList
arraylist, java
Solution
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);
Problem
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); ``` 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. How to achieve this? ValidateUser: ``` 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; } ``` }