-1

我是 Java 的新手,所以我什至不知道我是否正确执行此操作,但我创建了一个带有文本字段、密码字段和按钮的 GUI。我在按钮上有一个事件监听器。按下时,侦听器将检查名称和密码字段,但当前未按预期工作。

事件代码:

public class event implements ActionListener {
    @Override
    public void actionPerformed(ActionEvent arg) {
        String name = textfield.getText();
        char[] temp_pass = password.getPassword();
        String pass = new String(temp_pass);

        if (name == "Spedwards" && pass == "test") {
            result.setText("Welcome Liam");
        } else {
            result.setText("Unknown User");
        }
    }
}

我理解这一点的方式是,它从文本字段和密码字段中获取文本,然后检查它是否分别等于Spedwardstest,然后为我在 GUI 上的标签设置文本。然而,目前它只将文本设置为Unknown User不管是否输入正确的信息。

为什么它会这样做,我怎样才能正确获得我需要的值?

4

1 回答 1

1

正如评论中已经提到的。比较字符串的安全方法是使用 String.equals() 方法

换行

if (name == "Spedwards" && pass == "test") {

if ("Spedwards".equals(name) && "test".equals(pass)) {

于 2014-05-04T10:32:56.067 回答