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.