Sobes.tech
Junior — Middle

Como deve ser feita a comparação de objetos na programação?

sobes.tech IA

Resposta da IA

Em Java, a comparação de objetos depende do que exatamente se pretende comparar:

  1. Comparação de referências (objetos) por igualdade:

    • Usa o operador ==.
    • Verifica se duas variáveis apontam para o mesmo objeto na memória.
  2. Comparação do conteúdo dos objetos:

    • Usa o método .equals().
    • Por padrão (na classe Object), compara referências, mas muitas classes (por exemplo, String, Integer) redefinem esse método para comparar o conteúdo.

Exemplo:

String a = new String("test");
String b = new String("test");

System.out.println(a == b);       // false, objetos diferentes
System.out.println(a.equals(b));  // true, conteúdo igual

Recomendações:

  • Para comparar o conteúdo, sempre use .equals(), se a classe o implementar corretamente.
  • Para verificar se são o mesmo objeto (identidade), use ==.
  • Ao criar suas próprias classes, recomenda-se redefinir o método equals() (e hashCode()) para uma comparação correta dos objetos por conteúdo.