This question already has an answer here:
- How do I compare strings in Java? 23 answers
I'm creating a Sign-Up/Log-In App in Java and I'm using an if statement for logging in. Despite the if statement being true, it goes on to execute the else block. What am I doing wrong here? Any help would be appreciated.
I tried printing out both sides of the "==" argument to make sure they are equal and it turned out they are. I don't understand why it goes on to the else-block.
btnLogIn = new JButton("Log In");
btnLogIn.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
String test = emailBox.getText();
if (map.get(test) == passBox.getText()) {
JOptionPane.showMessageDialog(null, "Log In Successful" , "SMAIL", JOptionPane.PLAIN_MESSAGE);
}
else {
JOptionPane.showMessageDialog(null, "Incorrect email or password!" , "SMAIL", JOptionPane.PLAIN_MESSAGE);
}
System.out.println(map.get(test)+ " " +passBox.getText());
}
});
I expected the if statement to execute and that is because the two values (map.get(test) and passBox.getText()) are equal and that shows when I print the two values after the if-else block. However, it executed the else block.
Aucun commentaire:
Enregistrer un commentaire