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() 方式是正确的方式,会给你你想要的回应。