Object中有两个方法,一个是 equals,一个是 hashCode。一般是重写了equals,通常是要重写hashCode,为什么?
考察说明
考察Java中equals与hashCode协变关系及在哈希集合中的正确性
回答思路
- 说明hashCode与equals的约定:相等对象必须具有相同hashCode
- 解释违反约定导致HashSet、HashMap等哈希集合失效
- 举例说明只重写equals不重写hashCode的场景问题
- 说明重写hashCode时需遵循相同相等性判断字段
本题已收录答题指导
本题附完整参考答案与评分标准
登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。