如果我有一个可为空的 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 */
}
然而,!!
的使用对我来说有点粗略,绕过了空安全系统。
还有比这更优雅的方法吗?
看起来我有点过于简单化了。对于局部变量,如 班萨所示,它确实起作用。然而,我的布尔 b
实际上是一个“带有后备字段的属性”(我还没有真正了解它所带来的影响)。这就是结果: