Ответ
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)
Преимущества:
- Чёткое определение, где может быть null
- Компилятор помогает избежать NPE
- Уменьшает количество runtime-ошибок