后端岗位面试题更新 2026-08-05

请解释 Java 中 equals() 和 hashCode() 方法的关系,以及重写它们时需要注意哪些规则?

Momenta后端开发互联网/IT编码实现技术原理Java

考察说明

考察对 Java 对象相等性与哈希契约的理解及重写规范

回答思路

  1. 正确说明 equals() 与 hashCode() 的约定(相等对象哈希值必须相同)
  2. 正确指出重写 equals() 必须重写 hashCode() 的原因(如 HashMap 中的行为)
  3. 提及重写 equals() 时的自反性、对称性、传递性、一致性等规则
  4. 能举例说明违反约定导致的问题(如无法从 HashMap 中取出对象)
本题已收录答题指导

本题附完整参考答案与评分标准

登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。