O que exatamente você está planejando fazer com ele (o que você quer fazer faz diferença no que você precisa ligar).
hashCode
, conforme definido no JavaDocs, diz:
Por mais que seja razoavelmente prático, o método hashCode definido pela classe Object retorna inteiros distintos para objetos distintos. (Isso geralmente é implementado convertendo o endereço interno do objeto em um número inteiro, mas essa técnica de implementação não é exigida pela linguagem de programação Java ™).
Portanto, se você está usando hashCode()
para descobrir se é um objeto único na memória, não é uma boa maneira de fazê-lo.
System.identityHashCode
faz o seguinte:
Retorna o mesmo código hash para o objeto fornecido que seria retornado pelo método padrão hashCode (), independentemente de a classe do objeto fornecido substituir hashCode (). O código hash para a referência nula é zero.
O que, para o que você está fazendo, parece o que você quer ... mas o que você deseja fazer pode não ser seguro, dependendo de como a biblioteca é implementada.