when 语句而不是 if-else-if 链
when 语句是具有多个 else-if-branches 的 if 语句的替代:
when {
str.length == 0 -> print("The string is empty!")
str.length > 5 -> print("The string is short!")
else -> print("The string is long!")
}
使用 if-else-if 链写的相同代码 :
if (str.length == 0) {
print("The string is empty!")
} else if (str.length > 5) {
print("The string is short!")
} else {
print("The string is long!")
}
就像使用 if 语句一样,else-branch 是可选的,你可以根据需要添加任意数量的分支。你还可以拥有多行分支:
when {
condition -> {
doSomething()
doSomeMore()
}
else -> doSomethingElse()
}