Введение в null-безопасность в Kotlin
Во многих языках любая переменная ссылочного типа
может неожиданно оказаться пустой, и обращение
к ней приводит к ошибке времени выполнения.
В Kotlin такая ситуация заложена в систему типов:
тип по умолчанию не допускает null, а
отдельная запись с вопросительным знаком помечает
nullable-тип, где пустое значение разрешено
и видно уже при чтении кода.
Специальное значение null означает отсутствие
объекта или данных. Его нельзя подставить в обычную
переменную типа String или Int -
компилятор остановит программу еще до запуска.
Там, где пустота возможна по смыслу, тип пишут
явно, например String?. Так проще отличить
обязательное значение от необязательного и не
пропустить проверку.
Для nullable-значений в Kotlin есть короткие
операторы: безопасный доступ, подстановка запасного
результата, явная проверка и блок let для
работы только с не-null значением. Они заменяют
длинные цепочки условий там, где данных может
не хватать - после чтения карты, при разборе
строки или при работе с необязательным элементом
списка.
Раздел пройдет от самого значения null до
типичных случаев со списками и картами. Цель -
увидеть, как язык заставляет учитывать пустые
значения заранее, и выбрать для каждой задачи
спокойную проверку вместо рискованного обращения
к данным, которых может не быть.