Sobes.tech
Junior — Middle

Cum se poate determina dacă două obiecte fac referire la aceeași instanță în memorie?

sobes.tech AI

Răspuns de la AI

În Android (Java/Kotlin), pentru a verifica dacă două obiecte fac referire la aceeași instanță în memorie, se folosește operatorul == (în Kotlin) sau operatorul == în Java pentru verificarea referinței (în Java, pentru verificarea referinței se folosește ==, iar pentru compararea conținutului — metoda equals()).

Exemplu în Kotlin:

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

println(obj1 == obj2) // true, deoarece referințele sunt identice
println(obj1 == obj3) // false, instanțe diferite

În Java:

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

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

Prin urmare, operatorul == compară referințele, iar metoda equals() compară conținutul obiectelor.