Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗ktPmNsNN 432 of 522 menu
◀ ▶

Утверждение не-null значения в Kotlin

Оператор !! сообщает компилятору, что nullable-значение точно не null. После него тип становится обычным, и можно вызывать методы без ?.:

val sure: String? = "ok" println(sure!!.length)

Если предположение неверно и там все же null, программа завершится ошибкой NullPointerException. Такой прием оставляют для редких случаев, когда пустота уже отсечена логикой выше, но компилятор этого не видит:

val fail: String? = null // println(fail!!.length) // упадет при запуске

В учебных и рабочих задачах чаще хватает ?., проверки if и ?: - !! не заменяет их, а снимает только предупреждение компилятора ценой риска:

val token: String? = "data" val len = if (token != null) token.length else 0 println(len)

Дана переменная:

val key: String? = "secret"

Выведите длину строки одним выражением.

Дана переменная:

val item: String? = "x"

Сначала сравните item с null. Только если значение есть, выведите строку в верхнем регистре.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить