Junior — Middle
Jak lze určit, zda dva objekty odkazují na stejný exemplář v paměti?
sobes.tech AI
Odpověď od AI
V Androidu (Java/Kotlin) se k ověření, zda dva objekty odkazují na stejný instanci v paměti, používá operátor == (v Kotlinu) nebo operátor == v Javě pro kontrolu reference (v Javě se == používá pro kontrolu reference, zatímco equals() pro porovnání obsahu).
Příklad v Kotlinu:
val obj1 = SomeClass()
val obj2 = obj1
val obj3 = SomeClass()
println(obj1 == obj2) // true, protože odkazy jsou stejné
println(obj1 == obj3) // false, různé instance
V Javě:
SomeClass obj1 = new SomeClass();
SomeClass obj2 = obj1;
SomeClass obj3 = new SomeClass();
System.out.println(obj1 == obj2); // true
System.out.println(obj1 == obj3); // false
Tedy operátor == porovnává reference, zatímco equals() porovnává obsah objektů.