map 使用对象 key 不会有问题吗?
今天看到一个同学写的代码,使用了对象作为 map 的 key,我指出这个代码可能会有问题,即使在生命周期内对象属性不变,也是危险代码,为此还吵了会,搞得同学关系都有点僵,把这个同学部分代码贴下,有没有大佬说句公道话,到底谁有问题?
复制
@Data @EqualsAndHashCode(callSuper = false) public class Task { private Long id; private String name; private Integer status; } public Map<Task, Long> process(List<Task> tasks) { Map<Task, Long> resultMap = new HashMap<>(); for (Task task : tasks) { Long result = externalApi.call(task); // 调用外部接口 resultMap.put(task, result); } return resultMap; }


别问 问就是你有问题。
三季人