Есть ли у Any nullable версия

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

Ответ

В Kotlin Any — это супертип для всех ненулевых типов. Для работы с nullable-значениями используй Any?.

Пример:

fun processValue(value: Any?) {
    if (value != null) {
        println(value.hashCode()) // Smart-cast to non-null
    }
}

Any? включает null, тогда как Any — только не-null объекты. Это аналогично различию между T и T? в обобщённых типах.