Ответ
Оператор безопасного вызова ?. вернет null, если переменная равна null. Это позволяет избежать NullPointerException.
Пример:
val str: String? = null
val length = str?.length // вернет null
Если цепочка вызовов содержит ?., то при первом же null дальнейшие вызовы пропускаются:
user?.address?.street?.length // вернет null если любой из элементов null
Это удобная альтернатива проверкам if (x != null) или ?.let {}.