Como devo mapear por muito tempo para int em hashCode ()?

Eu tenho uma variedade de objetos que têm umlong campo cujo valor identifica exclusivamente um objeto específico em todo o sistema, como um GUID. Eu supereiObject.equals() para usar esse ID para comparação, porque eu quero que ele funcione com cópias do objeto. Agora eu quero substituirObject.hashCode()também, o que basicamente significa mapear meulong para algunsint valor de retorno.

Se eu entendi o propósito dehashCode corretamente, é usado principalmente em tabelas de hash; portanto, uma distribuição uniforme seria desejável. Isso significaria simplesmente retornarid % 2^32 seria suficiente. Isso é tudo ou devo estar ciente de outra coisa?

questionAnswers(6)

yourAnswerToTheQuestion