Sobes.tech
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) sempre true.
  • Simétrica: a.equals(b) é igual a b.equals(a).
  • Transitiva: se a.equals(b) e b.equals(c), então a.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.