==比较的是地址,equals比较的是值是否相等
例如:
String s1="abc";
String s2="abc";
此时,s1,s2的栈的值都指向abc,
故s1==s2 true,s1.equeals(s2) true;
String s3=new String("abc");
String s4=new String("abc");
s3,s4的栈中的地址不一样,
s3==s4 false;s3.equals(s4) true;
Java String == 与 equals 区别
本文详细解析了 Java 中 String 类型的 == 和 equals 方法的区别。通过实例展示了两者在比较字符串时的行为差异,重点说明了它们分别用于比较内存地址还是值的相等性。
==比较的是地址,equals比较的是值是否相等
例如:
String s1="abc";
String s2="abc";
此时,s1,s2的栈的值都指向abc,
故s1==s2 true,s1.equeals(s2) true;
String s3=new String("abc");
String s4=new String("abc");
s3,s4的栈中的地址不一样,
s3==s4 false;s3.equals(s4) true;

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