读取另一个类(java)中的arraylist对象及其字段

读取另一个类(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 ; //

我正在尝试建立一个用户登录系统,我需要帮助读取另一个类中现有arraylist的Objects及其字段,以便进行身份验证。下面是对象构造函数的代码

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()方法隐式地执行“not
null
”验证。@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);
}