Olá galera,
Estava dando um olhada em uma questão e fiquei com uma dúvida. Para mim seria a letra A, B, D.
- Quais as declarações abaixo são verdadeiras com relação à comparação de duas instâncias da mesma classe, dado que os métodos equals() e hashcode() foram apropriadamente sobrescritos?
A. Se o metodo equals retornar true, o operador == de comparação de hashcode pode retornar true.
B. Se o método equas retornar falsze, o operador == de comparação de hashcode pode retornar true.
C. Se o operador == de comparação de hasCode() retornar true, o método equals deve retornar true.
D. Se o operador == de comparaão de hascode retornar true, o método equals pode retornar true.
E. Se o operador != de comparação de hascode() retornar true, o método equals pode retornar true.
Mas no gabarito está apenas a letra B,D. No meu conhecimento, sobre a letra A deveria ser DEVE ao invés de PODE. No entanto o autor marca a letra A como falsa pois não segue o contrato de hashCode.
Alguém pode me explicar porque a letra A está errada?
Grato.
