Sobes.tech
Junior — Middle

Da li je moguće odrediti da li je promenljivoj deklarisanoj sa modificatorom lateinit dodeljena vrednost?

sobes.tech АИ

Одговор од АИ

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

Пример:

lateinit var myVar: String

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

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