读取另一个类(java)中的arraylist对象及其字段
我正在尝试建立一个用户登录系统,我需要帮助读取另一个类中现有arraylist的Objects及其字段,以便进行身份验证。下面是对象构造函数的代码读取另一个类(java)中的arraylist对象及其字段,java,arraylist,Java,Arraylist,我正在尝试建立一个用户登录系统,我需要帮助读取另一个类中现有arraylist的Objects及其字段,以便进行身份验证。下面是对象构造函数的代码 public class User { public String UserName ; public String UserSurname ; public String UserUsername ; public String UserPassword ; public int UserType ; //
public class User {
public String UserName ;
public String UserSurname ;
public String UserUsername ;
public String UserPassword ;
public int UserType ; // 0 for cashier
// 1 for manager
public User() {}
public User(String UserName, String UserSurname, String UserUsername, String UserPassword, int UserType) {
this.UserName = UserName;
this.UserSurname = UserSurname;
this.UserUsername = UserUsername;
this.UserPassword = UserPassword;
this.UserType = UserType;
}
/*
Getters and Setters
*/
这是我的用户和项目列表的“数据库”(注意-我有这些obj的构造函数)
永远不要使用
==
比较字符串是否相等,而应该使用.equals()
<代码>=比较引用而不是字符串变量的内容。对于内容的比较,应根据要求使用.equals()或.equalsIgnoreCase()
有关参考信息,请参见
更新:
现在,您正在userlist上运行一个循环,并检查输入的用户名是否在列表中。而是这样做:
Succed success = new Succed();
failure fail = new failure();
for(User d : userlist){
if(d.getUserUsername().equals(username) && d.getUserPassword().equals(pass)){
success.setVisible(true);
break;
}
}
if(!success.isVisible()){
fail.setVisible(true);
}
假设在类
Succed
上定义了isVisible()
,如果成功设置为visible,则返回true
,在其他情况下返回false
。作为旁注,我建议使用Enum
而不是int
来识别用户是出纳还是经理。您何时在数据库中填充这两个列表可能存在重复?Hello@Berger谢谢您的评论,再次检查代码,我添加了列表population@KevinEsche谢谢大家的支持,,后来,当我实现其他类时,我可能会改变这一点,但现在需要帮助。在他的例子中,类似这样的东西:if(d.getUsername()!=null和d.getUsername().equals(username)和d.getPassword()!=null和d.getPassword().equals(pass))
…只要if(username.equals(d.getUsername())&pass.equals(d.getPassword())
就可以了,就像equals()方法隐式地执行“notnull
”验证。@VamshiKrishnaAlladi我更改了这部分代码,但当我读取数据库对象时,这部分代码是操作侦听器按钮(登录)的一部分,当我单击它时,它什么也不做。。。也许我试图读取对象时的代码是错误的???@HasS你能发布动作监听器的代码吗?@VamshiKrishnaAlladi你认为用户名
不是空的。
String username = UsernameField.getText();
String pass = PasswordField.getText();
try
{
users = new DataBase();
ArrayList<User> userlist = users.getUsers();
for(User d : userlist){
if(d.getUserUsername() != null && d.getUserUsername() == username && d.getUserPassword() != null && d.getUserPassword() == pass){
Succed success = new Succed();
success.setVisible(true);
}
else {
failure fail = new failure() ;
fail.setVisible(true);
}
}// end for
}/* end try */ catch (NullPointerException ex) {
}
LoginButton.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
LoginButtonActionPerformed(evt);
}
});
Succed success = new Succed();
failure fail = new failure();
for(User d : userlist){
if(d.getUserUsername().equals(username) && d.getUserPassword().equals(pass)){
success.setVisible(true);
break;
}
}
if(!success.isVisible()){
fail.setVisible(true);
}