黑马程序员技术交流社区
标题:
String
[打印本页]
作者:
william_J
时间:
2014-11-24 22:01
标题:
String
String s1 = "a";
String s2 = "b"
String s3 = "ab"
然后:
s3==(s1+s2)是false,为什么?
"a"+"b" = "ab"是true。
作者:
FlyFish
时间:
2014-11-25 09:48
==,比较的是地址值,=,比较的是具体值
作者:
陈国华
时间:
2014-11-25 10:11
String s1 = "a";//s1是一个类类型的变量,“a”代表一个对象
你用等号连接后s1 在内存中就指向“a"
s2指向“b”
s3指向“ab”
他们代表3个不同的对象,当然地址值不一样,是不能用而==是比较地址值,所以不相等
作者:
杨佳名
时间:
2014-11-25 10:25
http://bbs.itheima.com/thread-152431-1-1.html
作者:
Afridoce
时间:
2014-11-25 11:54
s3==(s1+s2) 这里进行的是s3的地址值和(s1+s2)的地址值的比较,2个对象的地址值肯定不相同
"a"+"b" = "ab" 这里相当于是“ab”= ‘'ab'' 肯定是true了~~
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2