Назад к вопросам
JuniorТеорияЧасто
Что выведет программа (строки через пробел)?
fun main() {
val a: String? = null
val b: String? = "hi"
println(a?.length ?: -1)
println(b?.length ?: -1)
}-1 2
- Ждать
null 2: забыть про?:.a?.lengthдаётnull, и?: -1заменяет этотnullна-1до печати. - Ждать
-1 -1: считать, что?:всегда отдаёт правую часть. Он отдаёт её только приnullслева, аb?.length— это2, поэтому печатается2.
- Что выведет
println(a?.length)без?:? - Что выведет
println("12x".toIntOrNull() ?: 0)?