if语句不适用于用户名和密码

时间:2015-01-16 16:30:26

标签: java

请有人帮忙吗?我不知道为什么这个if语句不起作用,有没有人有任何想法?

我想要它做的是如果用户名和密码匹配关闭当前的gui窗口并打开另一个。

当用户名和密码正确时,它仍然说不正确。

我确定它真的很傻。

    String username = usernameField.getText();
    char[] password = passwordField.getPassword();
    username = username.toLowerCase();
    String passwordString = new String (password);
    passwordString = passwordString.toLowerCase();
    String loginUsername = "cj410";
    String loginPassword = "email";
    if (username == loginUsername && passwordString == loginPassword){
        dispose();
        homePage hp = new homePage();
        hp.setVisible(true);
    } else {
        LoginError le = new LoginError();
       le.setVisible(true);
    }

1 个答案:

答案 0 :(得分:1)

您使用的是引用相等的==。您需要拨打equals()

if(loginUsername.equals(username) && loginPassword.equals(passwordString ) {
   // etc
}

如上所述进行比较,因为如果usernamepasswordString为空,如果您将它们进行相反比较,则会抛出NullPointerException