Junior — Middle
Kotlin-да lateinit модификаторы бар айнымалының инициализацияланғанын қалай анықтауға болады?
sobes.tech AI
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 исключениясының алдын алу үшін.