STRING.equals("myValue")
与STRING == "myValue"
有什么区别?
我首先使用STRING == "myValue"
但我的IDE建议切换到使用.equals()
。这样做有什么特别的好处吗?
答案 0 :(得分: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
答案 1 :(得分:1)
我非常确定==
会比较引用,而不是值,而.equals()
会进行值比较。
答案 2 :(得分:0)
是的,STRING ==" myValue"不会工作,因为它会尝试比较字符串的引用,而不是字符串本身。
.equals()方式是正确的方式,并会给你你想要的响应。