> Что такое nullable типы в Kotlin и как с ними работать (Kotlin, Android)

Уровень: junior · Роль: mobile · Категория: Технические вопросы

Компании: Одноклассники

Стек: Kotlin, Android

> Пример ответа

Nullable типы в Kotlin - это механизм, позволяющий переменным хранить значение null. В отличие от Java, где любая ссылка может быть null, Kotlin явно разделяет nullable и non-nullable типы. Non-nullable тип объявляется как String, а nullable - как String?. Это предотвращает NullPointerException на этапе компиляции.

Для работы с nullable типами Kotlin предоставляет несколько подходов:

  • Оператор безопасного вызова ?. - вызывает метод или свойство, только если объект не null, иначе возвращает null. Пример: str?.length.
  • Элвис-оператор ?: - возвращает левое значение, если оно не null, иначе правое. Пример: str?.length ?: 0.
  • Оператор !! - утверждает, что значение не null, иначе выбрасывает NullPointerException. Используется с осторожностью.
  • Безопасное приведение as? - пытается привести тип, возвращая null при неудаче.
  • Функции let, run, apply, also - часто применяются с ?. для выполнения кода только над non-null значениями. Например: str?.let { println(it.length) }.

В Android-разработке nullable типы особенно полезны при работе с данными из API, Bundle, Intent или ViewModel, где значения могут отсутствовать. Также Kotlin поддерживает аннотации @Nullable и @NonNull для совместимости с Java.

> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?

Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью