Назад к вопросам
Junior — Middle
77
Чем отличается сравнение объектов операторами == в Java и Kotlin?
Компании, где спрашивали
Magenta
Ответ от нейросети
sobes.tech AI
В Java оператор == сравнивает ссылки на объекты, то есть проверяет, указывают ли две переменные на один и тот же объект в памяти.
В Kotlin оператор == сравнивает значения объектов, вызывая метод equals(), то есть проверяет логическое равенство содержимого объектов.
Если нужно сравнить ссылки в Kotlin, используется оператор ===.
Пример:
val a = String("test")
val b = String("test")
println(a == b) // true, сравнение по значению
println(a === b) // false, разные объекты
В Java:
String a = new String("test");
String b = new String("test");
System.out.println(a == b); // false, разные объекты
System.out.println(a.equals(b)); // true, сравнение по значению