Что такое null safety

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

Ответ

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

Пример:

var nonNullable: String = "Hello" // Не может быть null
var nullable: String? = null      // Может быть null

// Обращение к nullable требует проверки или safe-call
nullable?.length // Safe-call
nullable!!.length // Явный вызов (может вызвать NPE)

Преимущества:

  1. Чёткое определение, где может быть null
  2. Компилятор помогает избежать NPE
  3. Уменьшает количество runtime-ошибок