Sobes.tech
Junior — Middle

Kas on võimalik kindlaks teha, kas väärtus on määratud `lateinit` modifikatoriga deklareeritud muutujale?

sobes.tech AI

Vastus AI-lt

В Kotlin переменная, объявленная с модификатором lateinit, инициализируется позже, но не при объявлении. Чтобы проверить, была ли она инициализирована, можно использовать рефлексию с помощью свойства ::variableName.isInitialized.

Пример:

lateinit var myVar: String

fun checkInitialization() {
    if (::myVar.isInitialized) {
        println("myVar инициализирована: $myVar")
    } else {
        println("myVar не инициализирована")
    }
}

Это позволяет избежать исключения UninitializedPropertyAccessException при попытке доступа к неинициализированной lateinit переменной.