Junior — Middle
Qual é a diferença na comparação de objetos com os operadores == em Java e Kotlin?
sobes.tech IA
Resposta da IA
Em Java, o operador == compara referências a objetos, ou seja, verifica se duas variáveis apontam para o mesmo objeto na memória.
Em Kotlin, o operador == compara os valores dos objetos, chamando o método equals(), ou seja, verifica a igualdade lógica do conteúdo dos objetos.
Se precisar comparar referências em Kotlin, usa-se o operador ===.
Exemplo:
val a = String("test")
val b = String("test")
println(a == b) // true, comparação por valor
println(a === b) // false, objetos diferentes
Em Java:
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, comparação por valor