等于方法不起作用

时间:2017-07-13 04:02:24

标签: java equals

我通过创建一个没有数据库的登录系统来练习一个简单的Java GUI,但使用.equals的if语句不起作用,因为它总是说错误的密码。< / p>

contains()工作,但我认为这不安全

String user = USERNAME.getText();   
String pass = PASSWORD.getText(); 
if(user.equals("username") && pass.equals("password") ){
    JOptionPane.showMessageDialog(null, "Welcome to GUI");
} else {
    JOptionPane.showMessageDialog(null, "Wrong Username and password");    
}

1 个答案:

答案 0 :(得分:0)

正如@MadProgrammer所指出的,equals()是区分大小写的方法。

"password1" is NOT EQUAL to "PASSWORD1" //The strings should match with case.

另外,为避免NullPointerException更好的方法

String user = USERNAME.getText();   
String pass = PASSWORD.getText();
if ("username".equals(user) && "password".equals(pass)) {
    JOptionPane.showMessageDialog(null, "Welcome to GUI");
} else {
    JOptionPane.showMessageDialog(null, "Wrong Username and password");
}