为什么说覆写equals方法就必须覆写hashCode方法

为什么说覆写equals方法就必须覆写hashCode方法

阅读 2.3k
1 个回答

看源码应该是这样的,因为equals相等时必须引用同一个对象,而hashcode协议规定相等的对象的hashCode也必须相等,而且对象在用于HashSet/HashMap/Hashtable等数据结构时都是用hashCode来判断对象是否相同的,如果只重写equals方法而不重写hashCode会导致相同的对象存储了多次

推荐问题