Существует только два реальных требования для hashCode
: одно, чтобы экземпляры equals
имели одинаковые хеш-коды, и два, чтобы hashCode
работала достаточно быстро. Первое требование является наиболее важным на практике; без этого вы могли бы положить что-то в коллекцию, но не найти ее там. Второе - просто проблема производительности.
Если алгоритм хеш-кода вашего поля соответствует вышеуказанному, то его алгоритм также работает для вашего класса, если ваш класс equals
также зависит исключительно от того, являются ли эти поля equals
.