contradição do hashCode() entre Kathy e Whizlabs

3 respostas
J

O que diz a Kathy:
“Esse inteiro (hashCode()) terá que permanecer constante de uma execução a outra do mesmo aplicativo”

O que diz uma explicação do Whizlabs:
“This integer (hashCode()) need NOT remain consistent from one execution of an application to another execution of the same application”

E agora?! Quem está certo?!

3 Respostas

J

Oi galera
Acabei de verificar! Na verdade, a sentença da Kathy também é uma negação! Faltou a palavra “NÃO”! Esqueceram na tradução!
Valeu!

urubatan

na duvida leia o javadoc:

Mais informações: http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html#hashCode()

faelcavalcanti

jlearner:
O que diz a Kathy:
“Esse inteiro (hashCode()) terá que permanecer constante de uma execução a outra do mesmo aplicativo”

O que diz uma explicação do Whizlabs:
“This integer (hashCode()) need NOT remain consistent from one execution of an application to another execution of the same application”

E agora?! Quem está certo?!

Acredito que a cada instância que vier, indiferente da máquina virtual ele trará o mesmo hashCode. Um detalhe importante que o livro trata justamente do que é uma boa implementação ou não, mesmo que funcione ineficientemente. Mas temos que saber uma boa diferença.

Enfim, em alguns projetos já vi algumas pessoas fazer a implementação do hashCode, desta forma

public int hashCode() {
	return "atributoDaClasse".hashCode();
}

em que utiliza-se a implementação da classe String.

É um detalhe muito importante, e uma questão quase certa.

:wink:

Criado 17 de junho de 2006
Ultima resposta 21 de jun. de 2006
Respostas 3
Participantes 3