Выбор ответа Middle Null-safety обновлено
Безопасный вызов let и пустой результат
Вопрос
Что выведет код, если email равен null?
val email: String? = null
email?.let { println("Почта: $it") }
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: Ничего не выведет. ?.let { } выполняет блок только для не-null значения.
Варианты ответа
Почта: null- Пустую строку и перевод строки
- Упадёт с NPE
- Ничего не выведетправильный ответ
Разбор
?.let { } выполняет блок только для не-null значения. При email == null вызова let нет, всё выражение вернёт null, и println внутри блока не выполнится. NPE возможен только при !! или при работе с платформенным типом.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.