问题描述
大家好,我想做的是获取当前写在TextField中的输入。单击按钮时,TextField中的文本将分配给该字符串,因此我可以将该字符串与其他字符串进行比较。 (TextField由Scenebuilder导入)。谢谢您的帮助。
我正在做的事情行不通:
@FXML
private TextField userInput;
private void whenClicked(ActionEvent event){
String compareText = "Hello";
String text = userInput.getText();
if(compareText == text){
System.out.println("Strings are same");
}
else{
System.out.println("Strings are not same");
}
}
解决方法
我看不到TextField.getText()
的问题,这是从FXML组件获取内容的正确方法。
但是,切勿将字符串与==运算符进行比较;在String
之类的对象中使用时,此运算符将比较对象地址,而不是其内容。
改为使用String.equals()
:
if(compareText.equals(text))
System.out.println("Strings are same");
else
System.out.println("Strings are not same");