Sobes.tech
Junior — Middle

Kaip galima nustatyti, ar du objektai nurodo tą patį egzempliorių atmintyje?

sobes.tech AI

Atsakymas iš AI

Android (Java/Kotlin) aplinkoje, norint patikrinti, ar du objektai nurodo į tą pačią atminties instanciją, naudojamas operatorius == (Kotlin'e) arba operatorius == Java'e, skirtas nuorodų patikrinimui (Java'e == naudojamas nuorodų patikrinimui, o equals() metodas — turinio palyginimui).

Kotlin pavyzdys:

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

println(obj1 == obj2) // true, nes nuorodos yra tos pačios
println(obj1 == obj3) // false, skirtingi egzemplioriai

Java pavyzdys:

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

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

Taigi, operatorius == lygina nuorodas, o equals() — objektų turinį.