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