Для чего нужен оператор !!

«Для чего нужен оператор !!» — вопрос из категории Kotlin, который задают на 24% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Оператор !! в Kotlin используется для принудительного приведения nullable-типа к non-null типу. Он выбрасывает NullPointerException, если значение равно null.

Пример:

val nullableString: String? = "Hello"
val nonNullString: String = nullableString!! // Работает
println(nonNullString.length)

val nullString: String? = null
val crash: String = nullString!! // Выбросит NPE

Использовать !! стоит только когда ты абсолютно уверен, что значение не может быть null. В остальных случаях лучше использовать безопасные вызовы (?.) или let с ?.