黑马程序员技术交流社区

标题: 一张图看懂"abc"==new String("abc") [打印本页]

作者: doomsday    时间: 2015-2-6 16:18
标题: 一张图看懂"abc"==new String("abc")
  1. String s1 = "abc";
  2. String s2 = new String("abc");
  3. System.out.println(s1==s2);
复制代码
先前一直以为s1==s2判断的依据是hashCode,以为hashCode就是内存地址,s1和s2的hashCode值是一样的,为什么s1!=s2直到现在才弄明白,对象进行==比较判断的是地址引用,顺手画了张图




作者: 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