在JAVA中两个对象的判定是否相等依靠的是hashcode与equals共同协作,首先通过两个对象的hashcode判断两个对象是否相等,然后调用equals来判断两个对象的值是否相等。在object定义中对hashcode和equals要求如下:
两个对象的equals结果是相等,那么两个对象的hashcode必定相等。
如果重写equals,必须同时重写hashcode。
始终记住对象的判断首先判断的是hashcode然后判断equals,如果两个对象相等了,equal相等了,必然hashcode相等,重写equals的方法为了说明两个对象的的判断方式改变了,但是如果不重写hashcode的话,重写equals会没有作用。
关于hashcode和equals的学习总结
最新推荐文章于 2024-09-10 11:51:34 发布
博客介绍了Java中两个对象判定相等的方法,需hashcode与equals共同协作,先通过hashcode判断,再用equals判断值是否相等。还提到在object定义中,equals相等则hashcode必定相等,重写equals时必须同时重写hashcode,否则重写equals无效。
860

被折叠的 条评论
为什么被折叠?



