¿Cómo verificar si una variable lateinit está inicializada en Kotlin?
¡Hola, colegas! He estado escribiendo en Kotlin relativamente poco tiempo y me encontré con esta situación. Tengo una clase en la que uso `lateinit var` para una propiedad. Todo funciona, pero quiero verificar de forma segura si esta propiedad ya ha sido inicializada antes de acceder a ella. Si intento acceder a una variable `lateinit` no inicializada, obtengo `UninitializedPropertyAccessException`, lo que rompe el programa.
Aquí hay un ejemplo de mi código:
```kotlin
class MyApp {
lateinit var user: User
fun setup() {
// Aquí user puede estar inicializado o no
if (someCondition) {
user = User("Alice")
}
}
fun printUser() {
// Quiero verificar si user está inicializado para evitar el error
println(user.name) // Si no está inicializado — se lanzará una excepción
}
}
```
Intenté escribir `if (user != null)`, pero el compilador se queja de que no se puede verificar así las variables `lateinit`. En la documentación...