Kotlin 使用通配符对多个值进行模式匹配

Kotlin 使用通配符对多个值进行模式匹配,kotlin,Kotlin,在Kotlin中,当对给定值进行模式匹配时,我们可以使用,例如 when(value) { 1 -> "One" 2, 3 -> "Two or three" else -> "The rest" } 通过将两个值嵌套在对中,我们还可以同时对多个值进行模式匹配 when(Pair(value1, value2)) { (1, "One") -> "One" (2, "Two"), (3, "Three") -> "Two o

在Kotlin中,当对给定值进行模式匹配时,我们可以使用
,例如

when(value) {
    1 -> "One"
    2, 3 -> "Two or three"
    else -> "The rest"
}
通过将两个值嵌套在
对中,我们还可以同时对多个值进行模式匹配

when(Pair(value1, value2)) {
    (1, "One") -> "One"
    (2, "Two"), (3, "Three") -> "Two or three"
    else -> "The rest"
}
现在,我想知道如何使用通配符同时对多个值进行模式匹配。 我尝试了以下两种方法,但都没有成功:

when(Pair(value1, value2)) {
    (1, _), (_, "One") -> "One"
    (2, _), (_, "Two"), (3, _), (_, "Three") -> "Two or three"
    else -> "The rest"
}


如何匹配其中一个变量的任何大小写?Kotlin没有其他语言可能提供的模式匹配功能。有关此功能的讨论,请参见此处:

出现时,
不支持您的用例

when(Pair(value1, value2)) {
    (1, else), (else, "One") -> "One"
    (2, else), (else, "Two"), (3, else), (else, "Three") -> "Two or three"
    else -> "The rest"
}