-3

STRING.equals("myValue")vs有什么区别STRING == "myValue"

我第一次使用STRING == "myValue",但我的 IDE 建议切换到使用.equals(). 这样做有什么特别的好处吗?

4

3 回答 3

8

是的。使用 == 只比较参考值;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
于 2012-04-11T16:47:13.023 回答
1

我很确定==比较引用而不是值,而.equals()比较值。

进一步参考

于 2012-04-11T16:47:17.447 回答
0

是的,STRING == "myValue" 不起作用,因为它会尝试比较对字符串的引用,而不是字符串本身。

.equals() 方式是正确的方式,会给你你想要的回应。

于 2012-04-11T16:48:03.580 回答