开发者社区> 问答> 正文

java中重写equals方法为什么不直接在里面比较hashcode()?

只要重写在一个类中重写equals方法,那就一定要重写hashcode方法,因为两个对象只要equals返回值为true,那么他俩的hashcode就一定相同。
那为什么不可以提前先写好hashcode函数,然后在equals函数里面直接来一行if(this.hashcode() == otherObject.hashcode()) return true;else return false;就行了?

展开
收起
蛮大人123 2016-03-18 18:11:39 2060 0
1 条回答
写回答
取消 提交回答
  • 我说我不帅他们就打我,还说我虚伪

    hashcode相同,两个对象可以相同,可以不同
    hascode不同,两个对象必须不同。
    这是hashcode的原则。

    2019-07-17 19:07:01
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Spring Cloud Alibaba - 重新定义 Java Cloud-Native 立即下载
The Reactive Cloud Native Arch 立即下载
JAVA开发手册1.5.0 立即下载