Junior — Middle
Hogyan lehet megállapítani, hogy két objektum ugyanarra az példányra hivatkozik-e a memóriában?
sobes.tech MI
Válasz az MI-től
Android (Java/Kotlin) környezetben, két objektum ugyanarra az példányra mutat-e a memóriában, az == operátorral (Kotlinben) vagy Java-ban a == operátorral ellenőrizhető (Java-ban a referencia ellenőrzéséhez ==-t használnak, míg a tartalom összehasonlításához az equals() metódust).
Kotlin példakód:
val obj1 = SomeClass()
val obj2 = obj1
val obj3 = SomeClass()
println(obj1 == obj2) // true, mert ugyanaz a referencia
println(obj1 == obj3) // false, külön példányok
Java példában:
SomeClass obj1 = new SomeClass();
SomeClass obj2 = obj1;
SomeClass obj3 = new SomeClass();
System.out.println(obj1 == obj2); // true
System.out.println(obj1 == obj3); // false
Tehát az == operátor a referenciákat hasonlítja össze, míg az equals() a tartalmat.