【发布时间】:2020-06-25 14:22:24
【问题描述】:
我想知道是否可以在when 语句中使用列表以使其详尽无遗。假设我们有以下枚举:
enum class SomeType {
TYPE_ONE,
TYPE_TWO,
TYPE_THREE;
companion object {
fun groupThese() = listOf(TYPE_TWO, TYPE_THREE)
}
}
如果我们现在想为这个枚举做一个详尽的 when 语句,我们可以使用列表groupThese() 吗?
when (type) {
TYPE_ONE -> doSomething()
SomeType.groupThese() -> doSomethingElse() //this does obviously not work
}
我知道我可以在 when 中显式地写下枚举值,但我想将列表保存在一个地方,因此如果将来必须更改它,我只需要更改一次。
【问题讨论】:
标签: kotlin enums switch-statement