你是创建了两个字符串对线,a和b。
对象之间的==比较的是地址值。
你两个对线的地址值不相同,所以是false;
你加上一句,a=b,就可以让b的地址值也指向a。
让a和b共享一个地址值,a==b返回的就是true了。
然后“123”==“123”
这是两个常量,常量的对比是在方法去里进行的。
创建了第一个123后,再创建一个123,java会直接把第二个123的地址值指向第一个123,而不是再创建一个内存区给第二个123用。
这样可以节约内存,所以“123”=="123"返回的就是true
希望可以帮到你 |
|