-
一个重写了 equals 却忘了重写 hashCode 的 Java 对象,放进 HashSet 后既去不了重、也再也取不出来:一次违背 equals-hashCode 契约的深度复盘
给 User 重写了 equals(id 相同即相等),放进 HashSet 却没去重、用 id 相同的 User 去 map.get 竟返回 null——东西放进去了却取不出来。根因是只重写了 equals、没重写 hashCode:两个 equals 相等的对象,hashCode 却用 Object 默认实现(基于地址)而不同,违背了'equals 相等则 hashCode 必相等&…- 0
- 0
契约
幸运之星正在降临...
点击领取今天的签到奖励!
恭喜!您今天获得了{{mission.data.mission.credit}}积分
我的优惠劵
-
¥优惠劵使用时效:无法使用使用时效:
之前
使用时效:永久有效优惠劵ID:×
没有优惠劵可用!

