请解释 Java 中 hashCode()、equals() 与 == 运算符的区别与关联。
考察说明
考察对对象相等性判断机制、hashCode 契约及其与集合类协作的理解
回答思路
- 说明 == 比较引用是否指向同一对象,equals 默认比较引用但可重写以比较内容
- 说明 hashCode 与 equals 的契约:相等的对象必须具有相等的 hashCode
- 说明重写 equals 时必须重写 hashCode,否则在 HashMap、HashSet 中失效
- 结合存储场景说明 hashCode 用于定位桶、equals 用于冲突时精确比较
本题已收录答题指导
本题附完整参考答案与评分标准
登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。