Ответ
Тип с вопросительным знаком (?) в Kotlin обозначает nullable-тип, то есть переменная может хранить либо значение указанного типа, либо null.
Пример:
var name: String? = null // Допустимо null
name = "Alex" // Или строку
Без ? переменная не может быть null:
var name: String = "Alex" // Ошибка, если попытаться присвоить null
Особенности:
- Требует проверки на
nullперед использованием (if,?.,!!,?:) - Позволяет избежать
NullPointerExceptionна этапе компиляции - Часто используется в Android при работе с API, где поля могут отсутствовать