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:
-
Comparação de referências (objetos) por igualdade:
- Usa o operador
==. - Verifica se duas variáveis apontam para o mesmo objeto na memória.
- Usa o operador
-
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.
- Usa o método
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()(ehashCode()) para uma comparação correta dos objetos por conteúdo.