我试图从一个文本文件(每行包含用空格分隔的用户名密码对)中添加一个用户名和密码组合列表到名为userList的ArrayList中。 User构造函数使用两个字符串a将它们设置为用户名和密码。这应该很简单,但由于某些原因,当我在下面的代码之后遍历数组时,所有用户都具有相同的用户名和密码(文本文件中的最后一行)。将对象添加到ArrayList <object>
见下面的代码:
BufferedReader br = new BufferedReader(new FileReader("user_pass.txt"))
String line, username, password;
while ((line = br.readLine()) != null) {
String separated[] = line.split(" ");
username = separated[0];
password = separated[1];
userList.add(new User(username,password));
}
这里是我如何遍历数组列表:
for(User u : userList){
System.out.println(u.getUsername()+" --> "+u.getPassword());
}
而这里的用户等级:
公共类用户{
private static String username;
private static String password;
public User(String u, String p) {
username = u;
password = p;
}
public String getUsername(){
return username;
}
public String getPassword(){
return password;
}
你能后的代码为您的用户类?在循环的每次迭代中,用户名和密码的值是什么? –
“用户名”和“密码”字段是否为静态? – Reimeus
以纯文本(例如,在您的user_pass.txt文件中)存储用户名和密码组合不是一个好主意。你应该先纠正这个问题。 – ErstwhileIII