Как я должен сопоставить long с int в hashCode ()?
У меня есть ряд объектов, которые имеютlong
поле, значение которого уникально идентифицирует конкретный объект во всей моей системе, очень похоже на GUID. Я переопределилObject.equals()
использовать этот идентификатор для сравнения, потому что я хочу, чтобы он работал с копиями объекта. Теперь я хочу переопределитьObject.hashCode()
тоже, что в основном означает отображение моегоlong
для некоторыхint
возвращаемое значение
Если бы я понял цельhashCode
правильно, это в основном используется в хеш-таблицах, поэтому было бы желательно равномерное распределение. Это будет означать, просто возвращаясьid % 2^32
было бы достаточно. Это все, или я должен знать о чем-то еще?