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