黑马程序员技术交流社区

标题: 关于hashCode()的问题. [打印本页]

作者: flyidea    时间: 2014-7-27 23:24
标题: 关于hashCode()的问题.
hashCode()是用来判断对象的唯一性的,赋值每个对象唯一信息。
只不过 比如指定姓名和年龄的语句: this.name.hashCode() *this.age这个编码方式是什么意思?看不懂啊。
作者: star5603    时间: 2014-7-27 23:51
对象name属性的哈希值乘以对象的age属性,这个得数是你设置的哈希值?
作者: fantacyleo    时间: 2014-7-28 00:22
我的建议是不要纠结这个,除非你想深入了解一下哈希函数的设计。自己写小程序如果要重写hashcode方法,我觉得意思意思就行了,只要做到2点即可:
1. 通常参与equals方法比较的所有成员变量都要参与哈希值计算
2. 对equals方法返回true的两个对象,必须返回相同的哈希值;对于equals方法返回false的两个对象,尽量返回不同的哈希值。如果成员变量是引用类型且其类已经重写了hashCode方法,则直接使用它的hashCode方法




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