Sobes.tech
Junior — Middle

Como determinar se uma variável com o modificador lateinit em Kotlin foi inicializada?

sobes.tech IA

Resposta da IA

No Kotlin, para verificar se uma variável com o modificador lateinit foi inicializada, usa-se a propriedade isInitialized na reflexão da variável. Isso funciona apenas para propriedades de classe declaradas com lateinit var.

Exemplo:

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
}

Dessa forma, é possível verificar com segurança se a variável foi inicializada antes de usá-la, para evitar a exceção UninitializedPropertyAccessException.