Подстановка значения при null в Kotlin
Оператор ?: (Elvis) стоит после выражения
nullable-типа: если слева не null, берут
это значение, иначе - выражение справа. Справа
обычно тип, совместимый с левой частью:
val nick: String? = null
val shown = nick ?: "guest"
println(shown)
Elvis часто комбинируют с ?., когда нужен
обычный тип без вопросительного знака:
val note: String? = "hi"
val size = note?.length ?: 0
println(size)
Справа может быть и другая переменная, и готовая строка, и число по умолчанию:
val left: String? = null
val right: String? = "backup"
val pick = left ?: right ?: "none"
println(pick)
Дана переменная:
val code: String? = null
Сохраните в label строку unknown,
если code пуст. Иначе сохраните сам
code. Выведите label.
Дана переменная:
val value: Int? = 7
Выведите удвоенное число, если оно не null,
и -1 иначе.