我有一个 Java POJO 类,在我的项目中使用它来从 JSON 进行 Jackson 反序列化。该类具有各种成员,但要考虑的重要成员是 java.util.SortedMap 类型。 。我想将 equals()
和 hashCode()
添加到此类中,以便我可以相互比较这些类的实例。因此,我使用Eclipse的源代码生成工具来创建这两个方法。我从 IDE 收到以下警告消息:
The field type 'java.util.SortedMap' does not redeclare equals() and hashCode() - the resulting code may not work correctly.
请注意,我尝试为其创建 equals()
和 hashCode()
的 POJO 对象确实具有不同 java.util 的成员> 接口(interface),如 List 和 Map,但没有关于缺少 equals()
或 hashCode()
这两个接口(interface)。
我猜问题的一部分是我不确定为什么 SortedMap Jackson 的实现会将 JSON 反序列化成。我的类路径中有许多不同的 SortedMap 接口(interface)实现,其中一些确实覆盖了 equals()
和 hashCode()
,但它仍然是不可能(?)知道 jackson 是否会选择这些实现之一。
这条警告消息是我需要担心的吗?有人知道这个问题的解决方法吗?
旁白:我不想在这个项目中使用 Lombok。
更新
为 Eclipse 提交了以下错误:https://bugs.eclipse.org/bugs/show_bug.cgi?id=422184
最佳答案
您不会收到有关 List
和 Map
的警告,因为这些接口(interface)确实声明了 equals()
和 hashCode()
方法。
由于 SortedMap
扩展了 Map
接口(interface),该接口(interface)确实具有方法并且仍然适用于 SortedMap
我认为一切都应该有效。
关于java - Eclipse 关于 SortedMap 未重新声明 equals() 和 hashCode() 的警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20102111/