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 переменной.