Что такое null-safety в Kotlin

«Что такое null-safety в Kotlin» — вопрос из категории Kotlin, который задают на 26% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Null-safety в Kotlin — это механизм, предотвращающий NullPointerException (NPE) на этапе компиляции. В Kotlin типы по умолчанию не могут содержать null, если явно не объявлены как nullable с помощью ?.

Пример:

var nonNullable: String = "Hello" // Не может быть null
nonNullable = null // Ошибка компиляции

var nullable: String? = "World" // Может быть null
nullable = null // OK

Обработка nullable:

  • Безопасный вызов: nullable?.length (вернет null если nullablenull)
  • Элвис-оператор: nullable?.length ?: 0 (значение по умолчанию)
  • Принудительный вызов: nullable!!.length (выбросит NPE если nullablenull)

Это делает код более предсказуемым и уменьшает количество runtime-ошибок.