Sobes.tech
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