Como verificar se uma variável lateinit foi inicializada em Kotlin?
Olá, colegas! Comecei a programar em Kotlin há relativamente pouco tempo e me deparei com a seguinte situação. Tenho uma classe onde uso `lateinit var` para uma propriedade. Tudo funciona, mas quero verificar com segurança se essa propriedade já foi inicializada antes de acessá-la. Se eu tentar acessar uma variável `lateinit` não inicializada, recebo `UninitializedPropertyAccessException`, o que quebra o programa.
Aqui está um exemplo do meu código:
```kotlin
class MyApp {
lateinit var user: User
fun setup() {
// Aqui user pode ou não ser inicializado
if (someCondition) {
user = User("Alice")
}
}
fun printUser() {
// Quero verificar se user foi inicializado para evitar o erro
println(user.name) // Se não estiver inicializado — lançará exceção
}
}
```
Tentei escrever `if (user != null)`, mas o compilador reclama que não é possível verificar variáveis `lateinit` dessa forma. Na documentação