Sobes.tech
Junior — Middle

V čom sa líši porovnávanie objektov operátormi == v Jave a Kotlin?

sobes.tech AI

Odpoveď od AI

V Jave operator == porovnáva referencie na objekty, teda kontroluje, či dve premenne ukazujú na ten istý objekt v pamäti.

V Kotlinu operator == porovnáva hodnoty objektov volaním metódy equals(), teda kontroluje logickú rovnosť obsahu objektov.

Ak chcete porovnať referencie v Kotlinu, použite operátor ===.

Príklad:

val a = String("test")
val b = String("test")

println(a == b)  // true, porovnanie podľa hodnoty
println(a === b) // false, rôzne objekty

V Jave:

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

System.out.println(a == b);      // false, rôzne objekty
System.out.println(a.equals(b)); // true, porovnanie podľa hodnoty