String使用equals和==比较的区别

2025-04-02 13:38:11
推荐回答(1个)
回答1:

equals比较值相等,因为String是引用==比较地址

String是比较特别,它的值不能更改,你会说了String s="1"; s="2";是可以的。但是在实际中,“1”和“2”的内存不一样了,意思就是说改变String就会重新在堆分配,好说了这么多,步入正题,我们看一段代码

String s1 = "1";
String s2 = s1;
s1.equals(s2);//返回true
s1==s2;//也是true

//但是注意了,
s2 = new String("1");
s1.equals(s2);//返回true
s1==s2;//是false,因为s2已经分配新的内存