首页 > 解决方案 > 我们可以在 when(x) 中检查“AND”条件吗

问题描述

Kotlin 参考中,它被写成可以在when控制流中使用逗号 (,) 匹配多个条件。例如-

when (x) {
    0, 1 -> print("x == 0 or x == 1")
    else -> print("otherwise")
}

在这里,在第一个条件中,逗号就像 OR 运算符一样工作。有没有办法写一个表达式来匹配里面的 AND 条件when

标签: androidkotlin

解决方案


是的。虽然语法有些不同:

when {
    x % 5 == 0 && x % 3 == 0 -> println("foobar")
    x % 5 == 0 -> println("bar")
    x % 3 == 0 -> println("foo")
}

推荐阅读