我用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“时,我的代码总是打印出”错误“,而不是应该打印的”正确“。我检查了几次“测试”的拼写是否正确,还尝试将“测试”放在引号中(double:"
和single:'
),所有这些都没有帮助。
我已经尝试打印出文本字段的内容(使用System.out.Println(tf1.getText())
),并且得到了在控制台上的文本字段中编写的内容,因此操作侦听器和tf1.getText()
肯定可以工作。
我的代码会出什么问题?
发布于 2019-06-12 20:42:50
尝试将if替换为以下内容,
if(tf1.getText().toString().equalsIgnoreCase("test")){
System.out.println("correct");
} else {
System.out.println("wrong");
}
https://stackoverflow.com/questions/56562230
复制相似问题