JavaFx-如何将TextField输入分配给字符串或整数

问题描述

大家好,我想做的是获取当前写在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");

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...