Back to questions
Junior — Middle
57
Как определить, была ли инициализирована переменная с модификатором lateinit в Kotlin?
Companies where asked
Платформа Трим
Answer from AI
sobes.tech AI
В Kotlin для проверки, была ли инициализирована переменная с модификатором lateinit, используется свойство isInitialized у рефлексии переменной. Это работает только для свойств класса, объявленных с lateinit var.
Пример:
class Example {
lateinit var text: String
fun isTextInitialized(): Boolean {
return this::text.isInitialized
}
}
fun main() {
val example = Example()
println(example.isTextInitialized()) // false
example.text = "Hello"
println(example.isTextInitialized()) // true
}
Таким образом, можно безопасно проверить, инициализирована ли переменная, прежде чем использовать её, чтобы избежать исключения UninitializedPropertyAccessException.