Avatar ·

在 Kotlin 的 if 条件表达式中使用 Boolean?

大家好!我刚刚从 Java 开始学习 Kotlin,遇到了一个我无法理解的问题。 我有一个可空变量 `isActive: Boolean?`,它可以是 `true`、`false` 或 `null`。我想在 `if` 条件中检查它: ```kotlin var isActive: Boolean? = null if (isActive) { println("活跃") } else { println("不活跃") } ``` 但编译器报错:"Type mismatch: inferred type is Boolean? but Boolean was expected"。 我明白 `Boolean?` 是可空类型,而 `if` 期望的是普通的 `Boolean`。但如何正确处理这种情况?我需要当值为 `null` 时程序也能做点什么(例如,将其视为“不活跃”)。 请告诉我这在 Kotlin 中怎么做?我试过使用 `if (isActive == true)`,但这看起来像是一个临时解决方案。有没有更符合习惯用法的方式? 提前感谢您的帮助! <<>>

问题:为什么不能在 if 中使用 Boolean?

在 Kotlin 中,类型 Boolean?