If statement JavaFX TextField.getText()意外结果

If statement JavaFX TextField.getText()意外结果,if-statement,javafx,textfield,If Statement,Javafx,Textfield,我用JavaFX编写了这段代码: tfb.setOnAction(new EventHandler<ActionEvent>() { @Override public void handle (ActionEvent e) { if(tf1.getText() == "test") { System.out.println("correct"); } else { System.out.print

我用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");
        }
    }
});
tfb.setOnAction(新的EventHandler(){
@重写公共无效句柄(ActionEvent e){
if(tf1.getText()=“测试”){
系统输出打印项次(“正确”);
}否则{
System.out.println(“错误”);
}
}
});
当我在文本字段中输入“test”时,我总是得到一个由代码打印的“错误”,而不是应该的“正确”。我检查了好几次“test”拼写是否正确,并尝试将“test”放在引号中(双引号:
和单引号:
),这些都没有帮助

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


我的代码可能有什么问题?

尝试用以下代码替换if

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

顺便说一句:
-引号仅用于字符。编译器只允许您在这些字符之间添加一个字符。
TextField.getText
返回一个字符串,问题并不表示应忽略字母的大小写…对于字符串比较,您应该使用。equals或equalsIgnoreCase而不是“==”,最好使用equalsIgnoreCase,如果不区分大小写