Avatar ·

Cómo verificar si una variable lateinit está inicializada en Kotlin

¡Hola a todos! Recientemente comencé a aprender Kotlin y me encontré con un problema al usar variables lateinit. Tengo una clase en la que declaro una propiedad con el modificador lateinit porque no puedo inicializarla en el constructor — el valor proviene de una fuente externa (por ejemplo, después de cargar datos o establecer una dependencia a través de DI). Aquí hay un ejemplo simplificado: ```kotlin class UserManager { lateinit var userName: String fun loadUser() { // Simulación de carga de datos userName = "Alice" } fun greetUser() { // Aquí puede ocurrir un error si loadUser() aún no ha sido llamado println("Hello, $userName") } } ``` El problema es que si llamo a `greetUser()` antes de que `loadUser()` asigne el valor, obtendré un `UninitializedPropertyAccessException`. Quiero verificar si la variable está inicializada para evitar este error y, posiblemente, realizar alguna acción por defecto. ¿Podrían decirme si en Kotlin existe alguna forma de comprobar si una variable lateinit está inicializada?