关于SortedMap的Eclipse警告没有重新声明equals()和hashCode()

时间:2013-11-20 16:58:53

标签: java eclipse equals hashcode sortedmap

我有一个Java POJO类,我在我的项目中用于JSON的Jackson反序列化。此类有各种成员,但要考虑的重要成员是java.util.SortedMap类型。我想将equals()hashCode()添加到此类中,以便我将这些类的实例相互比较。因此,我使用Eclipse的源代码生成工具来创建这两种方法。我从IDE收到以下警告消息:

  

字段类型'java.util.SortedMap'不会重新声明equals()和hashCode() - 生成的代码可能无法正常工作。

请注意,我尝试创建equals()hashCode() for的POJO对象确实包含不同 java.util 接口的成员,例如 List Map ,但没有关于这两个接口缺少equals()hashCode()的警告消息。

我想问题的一部分是我不确定为什么 SortedMap Jackson的实现会将JSON反序列化为。我的类路径中有许多不同的 SortedMap 接口实现,有些会覆盖equals()hashCode(),但是仍然不可能(?)知道其中一个实施将是杰克逊的选择。

这个警告信息是否需要我担心?有人知道这个问题的任何变通方法吗?

除此之外:我不想在这个项目中使用Lombok。

<小时/>

更新

为Eclipse提出以下错误:https://bugs.eclipse.org/bugs/show_bug.cgi?id=422184

1 个答案:

答案 0 :(得分:2)

您没有收到有关ListMap的警告,因为这些接口确实声明了equals()hashCode()方法。

由于SortedMap扩展了具有这些方法的Map接口,并且该接口仍应适用于SortedMap,我认为一切都应该有效。