Sobes.tech
Junior — Middle

Kotlin'da nullable turidagi ob'ektga tekshirmasdan to'g'ridan-to'g'ri murojaat qilish natijasida nima bo'ladi?

sobes.tech AI

AIdan javob

В Kotlin, если обратиться к объекту с nullable типом напрямую без проверки (например, вызвать метод или получить свойство), то во время выполнения программы будет выброшено исключение NullPointerException.

Например:

val s: String? = null
println(s.length) // Ошибка компиляции
println(s!!.length) // Компилируется, но при выполнении выбросит NullPointerException

Чтобы избежать этого, нужно либо использовать безопасный вызов ?., либо проверять объект на null перед обращением:

println(s?.length) // Вернёт null, если s == null
if (s != null) {
    println(s.length)
}

Таким образом, прямое обращение к nullable объекту без проверки приводит к аварийному завершению программы с исключением.