Junior — Middle
Qual valor o método equals retorna ao ser chamado várias vezes para objetos iguais?
sobes.tech IA
Resposta da IA
O método equals em Java, quando chamado várias vezes para os mesmos objetos, deve retornar true sempre que os objetos forem considerados iguais de acordo com a lógica de implementação deste método. Segundo o contrato de equals, a chamada a.equals(b) deve ser:
- Reflexiva:
a.equals(a)sempretrue. - Simétrica:
a.equals(b)é igual ab.equals(a). - Transitiva: se
a.equals(b)eb.equals(c), entãoa.equals(c). - Consistente: múltiplas chamadas a
a.equals(b)retornam o mesmo valor, se os objetos não mudarem.
Exemplo:
String s1 = "test";
String s2 = new String("test");
System.out.println(s1.equals(s2)); // true
System.out.println(s1.equals(s2)); // true em chamadas repetidas
Portanto, para objetos iguais, o método equals retorna consistentemente true.