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