如何使用jtextfield正确读取输入的文本?

vatpfxk5  于 2021-07-03  发布在  Java
关注(0)|答案(2)|浏览(633)

这个问题在这里已经有答案了

如何比较java中的字符串(23个答案)
上个月关门了。
我想让我输入jtextfield水果的文本在按下按钮时被读取,如果输入的文本是apple,则打印“apple”,如果输入的文本不是apple,则打印“not apple”。
然而,即使我输入“apple”,它也会遍历else语句并打印“not apple”,我无法理解为什么会发生这种情况。我的代码如下:

submit.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent actionEvent) {
                String enter = fruit.getText();
                String fruit2 = enter.toUpperCase();

                if (fruit2 == "APPLE") {
                    System.out.println("apple");
                } else {
                    System.out.println("not apple");
                }
            }
        });
ux6nzvsh

ux6nzvsh1#

这个 == (两个相等)符号只能用于检查基元类型的相等性,对于对象值,检查它们是否是对象的同一示例或指向同一引用。要检查对象的字符串值示例,需要调用 equals 方法:

if("APPLE".equals(fruit2)) {

}
liwlm1x9

liwlm1x92#

if (fruit2 == "APPLE") {

不要使用“==”来比较对象。“==”检查它是否是对象的同一示例,而不是对象的“值”是否相同。
而是使用 equals(...) 方法:

if (fruit2.equals("APPLE")) {

相关问题