如果条件/布尔值为真,则语句未执行

时间:2019-06-11 22:56:30

标签: java swing if-statement

我正在用Java创建一个注册/登录应用程序,并且正在使用一个if语句进行登录。尽管if语句为true,它仍然执行else块。我在这里做错了什么?任何帮助将不胜感激。

我尝试打印出“ ==”参数的两面,以确保它们相等并且事实证明它们是相等的。我不明白为什么它会进入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());
        }
    });

我希望执行if语句,这是因为两个值(map.get(test)和passBox.getText())相等,并且显示了在if-else块之后打印两个值时的情况。但是,它执行了else块。

0 个答案:

没有答案