如何在 kotlin 中检查可为 null 的布尔值

kar*_*bal 4 kotlin

如果我想检查一个可为空的,Boolean我会得到一个type mismatch

var bool: Boolean? = true

if(bool) 
  println("foo") 
else 
  println("bar")
Run Code Online (Sandbox Code Playgroud)

因为Boolean is expected不是Boolean?

Ale*_*nov 5

null如果您想以不同于trueor 的方式处理case false

when(bool) {
    null -> println("null")
    true -> println("foo")
    false -> println("bar")
}
Run Code Online (Sandbox Code Playgroud)