首先记住两句话
相等的两个对象,即equals(Object)方法判断两个对象相等,那么他们必须要有相同的hashcode
hashcode相同的两个对象,他们可能相同,也可能不相同
简单地说可以这么理解...,hashcode是java实现中经常用到的比如在HashMap HashSet,根据hashcode不等就可以断定两个对象不等,如果相等再去比较equals,大大减少了equals的调用次数,效率就高很多了...所有的hashcode都返回一样的值?...实现了,可以直接调用的
比如我们的例子
我们可以这样子
public int hashCode() {
// TODO Auto-generated method stub
//根据判断是否相等的属性...hashcode肯定是相同的
2,最后生成的结果不能大于int的取值范围
3,尽可能的科学保证不是随随便便的一个对象hashcode都相等
友情提示:
[1].