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() — съдържанието на обектите.