Junior — Middle
Kako odrediti da li je promenljiva sa modifikatorom lateinit u Kotlinu inicijalizovana?
sobes.tech АИ
Одговор од АИ
U Kotlinu, za proveru da li je promenljiva sa modifikatorom lateinit inicijalizovana, koristi se svojstvo isInitialized u refleksiji promenljive. Ovo radi samo za svojstva klase deklarisana sa lateinit var.
Primer:
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
}
Na ovaj način, možete sigurno proveriti da li je promenljiva inicijalizovana pre nego što je koristite, kako biste izbegli izuzetak UninitializedPropertyAccessException.