Предупреждение Eclipse о том, что SortedMap не перераспределяет equals() и hashCode()

У меня есть класс Java POJO, который я использую в своем проекте для десериализации Джексона из JSON. Этот класс имеет различные члены, но важный член для рассмотрения имеет тип java.util.SortedMap. Я хочу добавить equals() а также hashCode() в этот класс, чтобы я мог сравнить экземпляры этих классов друг с другом. Поэтому я использовал инструмент генерации исходного кода Eclipse для создания этих двух методов. Я получаю следующее предупреждение от IDE:

Тип поля 'java.util.SortedMap' не переопределяет equals() и hashCode() - полученный код может работать некорректно.

Обратите внимание, что мой объект POJO, который я пытаюсь создать equals() а также hashCode() for имеет членов различных интерфейсов java.util, таких как List и Map, но нет предупреждений об отсутствии equals() или же hashCode() для этих двух интерфейсов.

Я предполагаю, что отчасти проблема в том, что я не уверен, почему реализация SortedMap Jackson десериализует JSON. Есть много различных реализаций интерфейса SortedMap, доступных в моем classpath, и некоторые делают переопределение equals() а также hashCode(), но все еще невозможно (?) знать, будет ли одна из этих реализаций выбрана Джексоном.

Это предупреждающее сообщение, о котором мне нужно беспокоиться? Кто-нибудь знает какие-либо обходные пути для этой проблемы?

За исключением: у меня нет желания использовать Ломбок в этом проекте.


Обновить

Подана следующая ошибка для Eclipse: https://bugs.eclipse.org/bugs/show_bug.cgi?id=422184

1 ответ

Решение

Вы не получаете предупреждения о List а также Map потому что эти интерфейсы объявляют equals() а также hashCode() методы.

поскольку SortedMap расширяет Map интерфейс, который имеет методы и который все еще должен работать для SortedMap Я думаю, что все должно работать.

Другие вопросы по тегам