3,两个对象的hashCode相同,则equals也一定为true,对吗?

首先直接回答不一定。在java中,equals和hashcode是有设计要求的,equals相等,则hashcode一定相等,反之则不然。重写equals()方法,必须重写hashCode()方法,以保证equals方法相等时两个对象hashcode返回相同的值。如果重写了hashCode方法就很可能出现hashCode相同equals为false的情况。

比较两个对象是否相等就可以重写hashCode和equals方法,使用equals就能判断是否相等。

发布了58 篇原创文章 · 获赞 1 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/zh_chong/article/details/103561672
今日推荐