Sobes.tech
Junior — Middle

Kā noteikt, vai divi objekti atsaucas uz to pašu piemēru atmiņā?

sobes.tech AI

Atbilde no AI

Android (Java/Kotlin) vidē, lai pārbaudītu, vai divi objekti norāda uz to pašu instanci atmiņā, tiek izmantots operators == (Kotlin) vai operators == Java (referenču pārbaudei) (Java, == tiek izmantots referenču pārbaudei, bet equals() metode — satura salīdzināšanai).

Kotlin piemērs:

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

println(obj1 == obj2) // true, jo atsauces ir vienādas
println(obj1 == obj3) // false, dažādas instances

Java piemērs:

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

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

Tādējādi, operators == salīdzina atsauces, bet equals() — objektu saturu.