黑马程序员技术交流社区

标题: 两个对象x,y相同,其值与hashcode的区别 [打印本页]

作者: shi0000    时间: 2014-4-22 11:53
标题: 两个对象x,y相同,其值与hashcode的区别
两个对象x,y相同,那么x.equals(y)是否为true,两个的hashcode是否相同
为什么?
作者: 二小傻    时间: 2014-4-22 11:59
x,y指向同一个对象那么就是相同的

作者: 二小傻    时间: 2014-4-22 12:00
是引用类型的话,都比较的是那个指向的内存地址
作者: heheka123    时间: 2014-4-22 12:31
equals 方法是用于比较两个独立对象的内容是否相同,就好比去比较两个人的长相是否相同,它比较 的两个对象是独立的
作者: kuroro自走核炮    时间: 2014-4-22 13:00
两个对象x,y相同,那么x.equals(y)是否为true,

equals方法比较的是对象实例(内容),所以这里是true

两个的hashcode是否相同

Java对于eqauls方法和hashCode方法是这样规定的:
1、相等的对象必须具有相等的哈希码(或者散列码)。
2、如果两个对象的hashCode相同,它们并不一定相同。







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