Junior — Middle
Kako odrediti da li dva objekta referenciraju isti primerak u memoriji?
sobes.tech АИ
Одговор од АИ
U Android (Java/Kotlin), za proveru da li dva objekta referišu na istu instancu u memoriji, koristi se operator == (u Kotlinu) ili operator == u Javi za proveru referenci (u Javi, za proveru reference koristi se ==, a za poređenje sadržaja metoda equals()).
Primer u Kotlinu:
val obj1 = SomeClass()
val obj2 = obj1
val obj3 = SomeClass()
println(obj1 == obj2) // true, jer su reference iste
println(obj1 == obj3) // false, različite instance
U Javi:
SomeClass obj1 = new SomeClass();
SomeClass obj2 = obj1;
SomeClass obj3 = new SomeClass();
System.out.println(obj1 == obj2); // true
System.out.println(obj1 == obj3); // false
Dakle, operator == poredi reference, a metoda equals() poredi sadržaj objekata.