这个问题在这里已经有答案了:
如何比较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");
}
}
});
2条答案
按热度按时间ux6nzvsh1#
这个
==
(两个相等)符号只能用于检查基元类型的相等性,对于对象值,检查它们是否是对象的同一示例或指向同一引用。要检查对象的字符串值示例,需要调用equals
方法:liwlm1x92#
不要使用“==”来比较对象。“==”检查它是否是对象的同一示例,而不是对象的“值”是否相同。
而是使用
equals(...)
方法: