Dúvida sobre Master Exam

0 respostas
Cl_ber_Jos

E ae galera do mal,
eu não estou conseguindo entender esta questão do master exam

Question 62 : 57

Given:

11. x = 0;

12. if(x1.hashCode() != x2.hashCode()) x= x + 1;

13. if(x3.equals(x4) == false ) x = x + 10;

14. if(x5.equals(x6) == true) x = x + 100;

15. if(x7.hashCode() == x8.hashCode()) x = x + 1000;

16. System.out.println("x = " + x);

If the output is x = 1111, which of the following statements will always be true? (Choose all that apply.)

Tradutor: Se a saída é x = 1111, qual das seguintes afirmações sempre será true? (Escolha todas que se aplicam.)
Aqui estão as opções:

A. x2.equals(x1) == true

B. x3.hashCode() != x4.hashCode()

C. x5.hashCode() == x6.hashCode()

D. x8.equals(x7) == true

Resposta correta:
x2.equals(x1) == true

Até onde eu sei, se os hashCodes são diferentes não há a menos possibilidade de equals serem true (claro que sobrescrito corretamente).
A opção que julguei correta (e ainda acho) é a letra “C”

se alguém discorda ou concorda comigo, por favor me explique por que. kkkkkkk

Falou, Obrigado!

Criado 22 de abril de 2010
Respostas 0
Participantes 1