Sobes.tech
Junior — Middle

Πώς μπορούμε να προσδιορίσουμε αν δύο αντικείμενα αναφέρονται στην ίδια περίπτωση στη μνήμη;

sobes.tech AI

Απάντηση από AI

Στο Android (Java/Kotlin), για να ελέγξετε αν δύο αντικείμενα αναφέρονται στην ίδια παρουσία στη μνήμη, χρησιμοποιείται ο τελεστής == (στο Kotlin) ή ο τελεστής == στη Java για έλεγχο αναφοράς (στη Java, για έλεγχο αναφοράς χρησιμοποιείται το ==, και για σύγκριση περιεχομένου η μέθοδος equals()).

Παράδειγμα σε Kotlin:

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

println(obj1 == obj2) // true, επειδή οι αναφορές είναι ίδιες
println(obj1 == obj3) // false, διαφορετικές παρουσίες

Στη Java:

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

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

Επομένως, ο τελεστής == συγκρίνει τις αναφορές, και η μέθοδος equals() συγκρίνει το περιεχόμενο των αντικειμένων.