请有人帮忙吗?我不知道为什么这个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);
}
答案 0 :(得分:1)
您使用的是引用相等的==
。您需要拨打equals()
。
if(loginUsername.equals(username) && loginPassword.equals(passwordString ) {
// etc
}
如上所述进行比较,因为如果username
或passwordString
为空,如果您将它们进行相反比较,则会抛出NullPointerException
。