¿Cómo debo mapear largo a int en hashCode ()?
Tengo una variedad de objetos que tienen unlong
campo cuyo valor identifica de forma exclusiva un objeto particular en todo mi sistema, de forma muy similar a un GUID. He anuladoObject.equals()
para usar esta identificación para la comparación, porque quiero que funcione con copias del objeto. Ahora quiero anularObject.hashCode()
, también, lo que básicamente significa mapear milong
Para algoint
valor de retorno
Si entendiera el propósito dehashCode
correctamente, se usa principalmente en tablas hash, por lo que sería deseable una distribución uniforme. Esto significaría, simplemente regresarid % 2^32
bastaría. ¿Eso es todo, o debería estar al tanto de otra cosa?