Como verificar se uma variável lateinit foi inicializada em Kotlin?
Olá a todos! Recentemente comecei a estudar Kotlin e me deparei com um problema ao usar variáveis lateinit.
Tenho uma classe onde declaro uma propriedade com o modificador lateinit, porque não consigo inicializá-la no construtor — o valor vem de uma fonte externa (por exemplo, após carregar dados ou definir uma dependência via DI). Aqui está um exemplo simplificado:
```kotlin
class UserManager {
lateinit var userName: String
fun loadUser() {
// Simulação de carregamento de dados
userName = "Alice"
}
fun greetUser() {
// Pode ocorrer um erro se loadUser() ainda não foi chamado
println("Hello, $userName")
}
}
```
O problema é que se eu chamar `greetUser()` antes de `loadUser()` atribuir o valor, recebo um `UninitializedPropertyAccessException`. Quero verificar se a variável foi inicializada para evitar esse erro e, possivelmente, executar alguma ação padrão.
Alguém sabe se em Kotl
No answers yet.
Faça login para deixar uma resposta
Blogs