String 中的 equals() 和 == :
equals() 就是比较值,而不是引用;
== 比较引用;
如果2个String是引用2个相同的字面值,则这2个字符串变量都指向这个字面值,因此它们使用 == 比较,返回 true;
如果 2者之一创建了新字符串对象,则用 == 比较就是 false;
例子:
equals() 就是比较值,而不是引用;
== 比较引用;
如果2个String是引用2个相同的字面值,则这2个字符串变量都指向这个字面值,因此它们使用 == 比较,返回 true;
如果 2者之一创建了新字符串对象,则用 == 比较就是 false;
例子:
public class Test {
public static String s1 = "s";
public static String s2 = new String("s");
public static void main(String[] args) {
String s = "s";
System.out.println(s == s1);
System.out.println(s == s2);
s1 = s1 + "";
System.out.println(s == s1);
}
/*
* 结果是:
* true
* false
* false
*/
}
本文探讨了Java中String类型的equals方法与==操作符的区别。equals用于比较两个字符串的值是否相同,而==则比较两个对象是否指向同一个内存地址。通过实例展示了不同情况下两者的使用及结果。

180

被折叠的 条评论
为什么被折叠?



