Sobes.tech
Junior — Middle

Ako zistíme, či dva objekty odkazujú na rovnaký exemplár v pamäti?

sobes.tech AI

Odpoveď od AI

V Android (Java/Kotlin), na overitev, ali dva objekta kažeta na isti primer v pomnilniku, se uporablja operator == (v Kotlinu) ali operator == v Javi za referenčno preverjanje (v Javi se == uporablja za referenčno preverjanje, medtem ko equals() za primerjavo vsebine).

Primer v Kotlinu:

val obj1 = SomeClass()
val obj2 = obj1
val obj3 = SomeClass()

println(obj1 == obj2) // true, ker sta referenci enaki
println(obj1 == obj3) // false, različni primerki

V Javi:

SomeClass obj1 = new SomeClass();
SomeClass obj2 = obj1;
SomeClass obj3 = new SomeClass();

System.out.println(obj1 == obj2); // true
System.out.println(obj1 == obj3); // false

Torej, operator == primerja reference, metoda equals() pa primerja vsebino objektov.