Что такое !!

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

Ответ

!! в Kotlin — это оператор "not-null assertion", который преобразует nullable-тип в non-null.

Пример:

val str: String? = "Hello"
val length: Int = str!!.length // Уверены, что str != null

Опасности:

  • Если переменная null, выбросится NullPointerException
  • Лучше использовать безопасные операторы (?., ?:, let{})

Когда использовать:

  • Только если точно уверены в non-null значении (например, после явной проверки if (x != null))
  • В тестах или прототипах, но избегать в продакшн-коде