Sobes.tech
Junior — Middle

Come si può determinare se due oggetti fanno riferimento alla stessa istanza in memoria?

sobes.tech AI

Risposta dell'AI

In Android (Java/Kotlin), per verificare se due oggetti fanno riferimento alla stessa istanza in memoria, si utilizza l'operatore == (in Kotlin) o l'operatore == in Java per il confronto di riferimento (in Java, == viene usato per il confronto di riferimento, mentre equals() per il confronto del contenuto).

Esempio in Kotlin:

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

println(obj1 == obj2) // true, poiché i riferimenti sono uguali
println(obj1 == obj3) // false, istanze diverse

In Java:

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

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

Pertanto, l'operatore == confronta i riferimenti, e il metodo equals() confronta il contenuto degli oggetti.