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

var bool: Boolean? = true

if(bool)
  println("foo")
else
  println("bar")

因为Boolean is expected不是Boolean?

最佳答案

使用Boolean.equals()

var bool: Boolean? = null

if(true.equals(bool))
  println("foo")
else
  println("bar")

甚至可以内联进行
var bool: Boolean? = null

if(true == bool)
  println("foo")
else
  println("bar")

或使用猫王可为空的 bool(boolean) 值检查
var bool: Boolean? = null

if(bool ?: false)
  println("foo")
else
  println("bar")

关于kotlin - 如何在Kotlin中检查可为空的 bool 值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59214390/

10-15 11:12