Sobes.tech
Назад к вопросам
Junior — Middle
65

Каким образом можно определить, что два объекта ссылаются на один и тот же экземпляр в памяти?

Компании, где спрашивали
ДзенДзен

Ответ от нейросети

sobes.tech 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() — содержимое объектов.