Usando Boolean? em uma expressão condicional if em Kotlin
Olá a todos! Comecei a estudar Kotlin depois de Java e me deparei com um problema que não consigo entender.
Tenho uma variável nullable `isActive: Boolean?`, que pode ser `true`, `false` ou `null`. Quero verificá-la em uma condição `if`:
```kotlin
var isActive: Boolean? = null
if (isActive) {
println("Ativo")
} else {
println("Inativo")
}
```
Mas o compilador dá um erro: "Type mismatch: inferred type is Boolean? but Boolean was expected".
Entendo que `Boolean?` é um tipo nullable, enquanto `if` espera um `Boolean` comum. Mas como lidar corretamente com essa situação? Preciso que, quando for `null`, o programa também faça algo (por exemplo, considere como "inativo").
Digam-me como fazer isso em Kotlin? Tentei usar `if (isActive == true)`, mas parece um hack. Existe uma forma mais idiomática?
Desde já agradeço pela ajuda!
<<>>
Problema: por que não se pode usar Boolean? em if
Em Kotlin, o tipo Boolean?
No answers yet.
Faça login para deixar uma resposta