-
我重写了 equals 让两个字段相同的对象相等,把它当 HashMap 的 key 存进去,再用一个一模一样的 key 去取却拿到了 null:一次 Java 只重写 equals 没重写 hashCode 的深度复盘
我用一个自定义的 OrderKey(含 userId 和 date)当 HashMap 的 key,为了让两个字段都相同的 key 被视为同一个 key,我重写了 equals。可线上诡异:map.put(key1, value) 存进去后,用一个字段完全相同的新 key2 去 get 居然返回 null,而 key1.equals(key2) 明明是 true。查清才明白:我只重写了 equal…- 0
- 0
对象相等
幸运之星正在降临...
点击领取今天的签到奖励!
恭喜!您今天获得了{{mission.data.mission.credit}}积分
我的优惠劵
-
¥优惠劵使用时效:无法使用使用时效:
之前
使用时效:永久有效优惠劵ID:×
没有优惠劵可用!

