JavaFX TextField.getText() 意外结果

JavaFX TextField.getText() unexpected results

我用 JavaFX 写了这段代码:

tfb.setOnAction(new EventHandler<ActionEvent>() {
    @Override public void handle (ActionEvent e) {
        if(tf1.getText() == "test") {
            System.out.println("correct");
        } else {
            System.out.println("wrong");
        }
    }
});

当我在文本字段中输入 "test" 时,我的代码总是打印出 "wrong",而不是应有的 "correct"。我检查了好几次"test"是否拼写正确,我也试着把"test"放在引号里(双:"和单:'),none 这有帮助。

我已经尝试打印出文本字段的内容(使用 System.out.Println(tf1.getText())),并且我在控制台的文本字段中得到了我所写的内容,因此动作侦听器和 tf1.getText()一定要工作。

我的代码有什么问题?

尝试用以下内容替换 if,

if(tf1.getText().toString().equalsIgnoreCase("test")){
     System.out.println("correct");
} else {
     System.out.println("wrong");
}