黑马程序员技术交流社区

标题: hashCode和equals的区别? [打印本页]

作者: liang926    时间: 2014-8-11 10:30
标题: hashCode和equals的区别?
本帖最后由 liang926 于 2014-8-14 00:36 编辑

hashCode和equals方法都是是用来鉴定2个对象是否相等的。但是他们是有区别是什么呢?谢谢各位大神的指导!
作者: 微微微笑    时间: 2014-8-11 10:37
hashCode比较的是hashCode值,通过一种hash算法实现,方法不唯一。equals()方法在Object最初的定义是比较地址,因为是方法可以重写,用以实现自己想实现的“相等”逻辑,在hashset集合中equals比较的是元素的内容,
作者: liang926    时间: 2014-8-11 11:41
谢谢,讲的很详细!学习了!
作者: Mylan    时间: 2014-8-11 12:08
hashCode是返回对象的哈希值,equals方法是比较两个对象的哈希值是否相同,但是一般子类方法都改写了equals方法,可能就是比较内容,或者其他的了
作者: ﹑淼    时间: 2014-8-11 12:30
这两个方法通常被重写,原始的在Object类中,hashCode返回的是对象的哈希值,是int型,equals返回的是boolean型,比较的是对象的地址。




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