Java if语句不适用于用户名和密码
有人能帮忙吗?我不知道为什么这句话行不通,有人知道吗 我所要做的就是如果用户名和密码匹配,关闭当前gui窗口并打开另一个窗口 在任务单上,当用户名和密码正确时,仍会显示不正确 我敢肯定这是件很愚蠢的事Java if语句不适用于用户名和密码,java,Java,有人能帮忙吗?我不知道为什么这句话行不通,有人知道吗 我所要做的就是如果用户名和密码匹配,关闭当前gui窗口并打开另一个窗口 在任务单上,当用户名和密码正确时,仍会显示不正确 我敢肯定这是件很愚蠢的事 String username = usernameField.getText(); char[] password = passwordField.getPassword(); username = username.toLowerCase(); String p
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);
}
您使用的是引用相等的
==
。您需要调用equals()
if(loginUsername.equals(username) && loginPassword.equals(passwordString ) {
// etc
}
如上所述使用它进行比较,因为如果
username
或passwordString
为null,如果您以相反的方式比较它们,它将抛出NullPointerException
。在Java/Android中,==用于原语比较,equals()用于对象比较。