Зачем нужен оператор ?.

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

Ответ

Оператор ?. (safe call operator) в Kotlin позволяет безопасно обращаться к свойствам или методам объекта, который может быть null. Если объект равен null, оператор вернёт null вместо выброса NullPointerException.

Пример:

val length: Int? = text?.length // вернёт null если text == null

Эквивалент без safe call:

val length = if (text != null) text.length else null

Особенности:

  • Цепочка вызовов прерывается при первом null
  • Часто используется с let для выполнения действий с non-null объектами
  • Компилятор Kotlin автоматически преобразует его в проверку на null

Это делает код безопаснее и чище, уменьшая количество проверок на null.