Sobes.tech
Junior — Middle

Kuidas saab kindlaks teha, kas kaks objekti viitavad samale eksemplarile mälus?

sobes.tech AI

Vastus AI-lt

Android (Java/Kotlin) keskkonnas, et kontrollida, kas kaks objekti viitavad samale mälupunktile, kasutatakse operaatorit == (Kotlinis) või Java == operaatorit viitamise kontrollimiseks (Java == kontrollib viidet, ja equals() meetod võrdleb objekti sisu).

Kotlin näide:

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

println(obj1 == obj2) // tõene, kuna viited on samad
println(obj1 == obj3) // false, erinevad eksemplarid

Java näide:

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

System.out.println(obj1 == obj2); // tõene
System.out.println(obj1 == obj3); // false

Seega, == operaator võrdleb viiteid, ja equals() võrdleb objektide sisu.