黑马程序员技术交流社区
标题:
一张图看懂"abc"==new String("abc")
[打印本页]
作者:
doomsday
时间:
2015-2-6 16:18
标题:
一张图看懂"abc"==new String("abc")
String s1 = "abc";
String s2 = new String("abc");
System.out.println(s1==s2);
复制代码
先前一直以为s1==s2判断的依据是hashCode,以为hashCode就是内存地址,s1和s2的hashCode值是一样的,为什么s1!=s2
呢
直到现在才弄明白,对象进行==比较判断的是地址引用,顺手画了张图
String.jpg
(109.19 KB, 下载次数: 22)
下载附件
2015-2-6 16:10 上传
作者:
kfcka
时间:
2015-2-6 16:31
嗯,==是比较引用地址,而引用地址是不一样的
作者:
lwh316658735
时间:
2015-2-6 18:30
hashcode只与哈希表有关,只要不与哈希相关他他就是个摆设
作者:
碎流
时间:
2015-2-6 18:50
画的不错,支持一个...........
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2