为什么重写equals()方法就必须重写hashCode()方法? 收藏 阅读:206
2020-04-11 21:15:29

A.   Object.hashCode()方法是一个本地native方法,返回的是对象引用中存储的对象的内存地址;

B.   基于散列的集合(HashSet、HashMap和Hashtable)存放key时,调用该对象(存入对象)的hashCode()方法来得到该对象的hashCode值,然后根据该hashCode值决定该对象在HashSet中存储的位置;

C.   所以如果equals方法返回true,那么两个对象的hasCode()返回值必须一样


读后有收获,请打赏。更多精彩内容,请关注微信公众号。有疑问请加QQ交流群:454792501


全部评论

发表评论