Что вернется если обратиться к сущности через оператор ?.

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

Ответ

Оператор ?. (safe call) возвращает null, если объект, к которому обращаются, равен null. В противном случае выполняется обычный доступ к свойству/методу.

Пример:

val str: String? = null
val length = str?.length // вернет null

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

  • Позволяет избежать NPE
  • Можно использовать в цепочке вызовов: user?.address?.street
  • Часто комбинируется с оператором Элвиса ?: для задания значения по умолчанию

Эквивалент Java кода:

str != null ? str.length() : null