黑马程序员技术交流社区

标题: 两个对象值相同(x.equals(y) == true),但却可有不同的hash code,这句话对不对? [打印本页]

作者: 改变自己、    时间: 2016-4-13 22:47
标题: 两个对象值相同(x.equals(y) == true),但却可有不同的hash code,这句话对不对?
两个对象值相同(x.equals(y) == true),但却可有不同的hash code,这句话对不对?通俗易懂些!
作者: 小白想学javaEE    时间: 2016-4-13 22:57
equals 比较的是堆内存里面的值,不是地址,所以,比较的并不是hashcode
作者: fbz123456    时间: 2016-4-13 22:59
本帖最后由 fbz123456 于 2016-4-13 23:00 编辑

我最先想到的是 string x ="abc";  string y = new string("abc");
equals  比较的是最直接的 对象值

作者: 小白想学javaEE    时间: 2016-4-13 23:02
两个对象的地址值是不同的,你说的两个对象值相同,我的理解是对象里面的属性相同




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2