Ответ
Оператор ?. (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.