JAVA从入门到精通(实例版)7.3.7范例中为什么cat1==cat3.而String c1=new String("abc")与String c2=new String("abc") 却是c1!=c2,但在String a="abc",String b="abc"中a=b,都是怎么解释?
无名_mrkj
学分:0 LV1
TA的每日心情
2020-11-19 12:11:05
cat1和cat3是两个对象,“==”运算符比较的是两个对象的引用地址是否相等,而String c1=new String("abc")与String c2=new String("abc")是两个对象,c1 != c2 比较的是两个对象的地址是否相等,这两个对象的地址当然不同了,而String a="abc",String b="abc"中a=b是赋值。