Sobes.tech
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 исключениясының алдын алу үшін.