STRING.equals("myValue")
vs有什么区别STRING == "myValue"
?
我第一次使用STRING == "myValue"
,但我的 IDE 建议切换到使用.equals()
. 这样做有什么特别的好处吗?
STRING.equals("myValue")
vs有什么区别STRING == "myValue"
?
我第一次使用STRING == "myValue"
,但我的 IDE 建议切换到使用.equals()
. 这样做有什么特别的好处吗?
是的。使用 == 只比较参考值;equals() 函数实际上检查字符串内容是否相同。
String x = new String("foo");
String y = new String("foo");
System.out.println(x == y); // prints false
System.out.println(x.equals(y)); // prints true
我很确定==
比较引用而不是值,而.equals()
比较值。
是的,STRING == "myValue" 不起作用,因为它会尝试比较对字符串的引用,而不是字符串本身。
.equals() 方式是正确的方式,会给你你想要的回应。