Equals and hashCode

Supose that class C has legal implementations of the hashCode and equals method. Within any one execution of the Java application the hashCode contract requires that each invocation of the hashCode method os class C must consistently return the same result as long as the fields used for the equals comparison remain unchanged.

a. false
b. true

false ?

o “hashCode contract” diz que o mesmo o metodo hashcode() precisa retornar exatamente o mesmo numero, mas isto durante toda a execucao de uma mesma aplicacao… “desculpem a falta de acentos!” :slight_smile:

se executarmos o hashcode em uma outra aplicacao o resultado pode ser um outro numero!

por isso eu acho q eh falso… :wink:

e ai! qual eh a certa ? :smiley:

true?

pq no final ele diz que os valores usados em EQUALS continuam os mesmos

[quote=“maxguzenski”]true?

pq no final ele diz que os valores usados em EQUALS continuam os mesmos[/quote]

isso mesmo, você acertou, A RESPOSTA É true (editado). Citando o contrato de hashCode:

Whenever it is invoked on the same object more than once during an execution of a Java application, the hashCode method must consistently return the same integer, provided no information used in equals comparisons on the object is modified.

Acho que a resposta é true.
Falow.