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!