所以我很难弄清楚为什么这不起作用,但基本上我想做的是获取用户信息,以便当他们单击登录时他们能够登录。
private boolean login() {
for (User user : users) {
if (user != null) {
System.out.println(users.size());
String tryUser = user.getUsername();
String tryPass = user.getPassword();
String passText = new String(
LoginPanel.passwordPf.getPassword());
if (LoginPanel.usernameTf.getText().equalsIgnoreCase(
tryUser)
&& passText.equals(tryPass)) {
return true;
} else {
return false;
}
}
}
return false;
}
我检查了数组,所有用户都已正确存储,但由于某种原因,当我尝试获取用户名和密码时,它会从列表中的第一项中获取它。
最佳答案
您始终在循环中return
,因此您永远不会检查第一个用户之外的任何用户。您应该更改支票:
if (LoginPanel.usernameTf.getText().equalsIgnoreCase(tryUser) && passText.equals(tryPass)) {
return true;
}
// Do not return, check next user in list
// else {
// return false;
// }
关于java - 尝试从 ArrayList 获取多个用户名和密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31630927/