Sobes.tech
Назад к вопросам
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, сравнение по значению