Avatar ·

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?