Sobes.tech
Back to questions
Junior — Middle
65

Можно ли определить, было ли присвоено значение переменной, объявленной с использованием модификатора lateinit?

Answer from AI

sobes.tech AI

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

Пример:

lateinit var myVar: String

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

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