如果我有一个可为空的 Boolean b
,我可以在 Java 中进行以下比较:
Boolean b = ...;
if (b != null && b) {
/* Do something */
} else {
/* Do something else */
}
在 Kotlin 中,我可以使用 !!
运算符实现相同的目的:
val b: Boolean? = ...
if (b != null && b!!) {
/* Do something */
} else {
/* Do something else */
}
但是,!!
的使用对我来说有点粗略,绕过了 null 安全系统。
有没有更优雅的方法呢?
编辑 看来我有点过于简单化了。对于局部变量,如 Banthar显示,它确实有效。但是,我的 bool b
实际上是一个“带有支持字段的属性”(我还没有真正了解这会带来什么)。结果如下:
最佳答案
您可以使用相等运算符将可为空的 bool 值与 true
、false
或 null
进行比较:
var b: Boolean? = null
if (b == true) {
// b was not null and equal true
}
if (b == false) {
// b is false
}
if (b != true) {
// b is null or false
}
关于kotlin - bool 值的使用?在 if 表达式中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32830904/