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