the*_*der 0 java class arraylist object
我有一个名为users的类,它接受用于通过构造函数初始化新用户的参数,如ID,Name,last name,password和权限的整数值
Users temp1 = new Users("id1","name1","lname","pass1",0);
Users temp2 = new Users("id2","name1","lname","pass2",0);
Users temp3 = new Users("id3","name1","lname","pass3",0);
Run Code Online (Sandbox Code Playgroud)
然后我将它们添加到一个列表中,该列表可以跟踪当前创建的所有用户,例如:
datastorage.adduser(temp1);
datastorage.adduser(temp2);
datastorage.adduser(temp3);
Run Code Online (Sandbox Code Playgroud)
我的数据存储类看起来像这样:
public class datastorage {
static ArrayList<Users> userlist = new ArrayList<Users>();
}
public static void adduser(Users temp){
userlist.add(temp);
for (Users user : userlist) {
System.out.println(user.getuserName() + " "+ user.getPassword());
}
}
Run Code Online (Sandbox Code Playgroud)
当我运行adduser方法时,我想检查在控制台中查看添加新用户后我在listofusers中的所有当前用户,而不是打印出来:
id1 pass1
id2 pass2
id3 pass3
Run Code Online (Sandbox Code Playgroud)
我没有得到类似的东西:
id1 pass1
id1 pass1
id2 pass2
id1 pass1
id2 pass2
id3 pass3
Run Code Online (Sandbox Code Playgroud)
小智 5
正如评论中所建议的那样,您Users班级中的字段不应该是static.
他们都与实例的Users,而静态字段被链接到类本身.
因此,实际上你只有一个字段(好吧,一个用于userId,一个userName等等)在所有实例之间共享Users.
只是摆脱那些static修饰符,你应该是好的.我仍然建议你阅读这个关于类变量的教程,它将来会对你有所帮助.
| 归档时间: |
|
| 查看次数: |
78 次 |
| 最近记录: |