Как сравнить объекты по ссылке в Kotlin

«Как сравнить объекты по ссылке в Kotlin» — вопрос из категории Kotlin, который задают на 24% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

В Kotlin для сравнения объектов по ссылке используется оператор === (и его отрицание !==). Он проверяет, ссылаются ли две переменные на один и тот же объект в памяти, в отличие от ==, который вызывает equals().

val a = "Hello"
val b = "Hello"
val c = a

println(a === b)  // false (разные объекты в памяти)
println(a === c)  // true (одна и та же ссылка)

Для nullable-типов:

val obj1: Any? = null
val obj2: Any? = null
println(obj1 === obj2)  // true (оба null)