Kotlin如何在BooleanArray中所有布尔值都为true时调用方法

时间:2018-11-22 11:26:11

标签: kotlin

当所有布尔值都设置为true且我运行startProcess()时,应该为true,并且我想执行onFinished()方法。我该怎么做?

private var completed: BooleanArray = booleanArrayOf(false, false, false, false)

fun startProcess() {
    completed.all { it -> callback.onFinished() }
}

2 个答案:

答案 0 :(得分:2)

all置于if条件中,例如:

fun startProcess() {
  if (completed.all { it })
    callback.onFinished()
}

来自链接的all-引用:

  

如果所有元素都与给定谓词匹配,则返回true

答案 1 :(得分:1)

只需使用:

private var completed: BooleanArray = booleanArrayOf(false, false, false, false)
if (completed.all { it }) {
    callback.onFinished()
}