如何使用Kotlin轻松完成这项工作?
if (translation.equals(TRANSLATION_X) ||
translation.equals(TRANSLATION_Y) ||
translation.equals(TRANSLATION_Z)
) {
return
} else {
translation = TRANSLATION_X
}
Run Code Online (Sandbox Code Playgroud)
hot*_*key 15
首先,您可以使用结构相等运算符==,它.equals(...)自动转换为调用:translation == TRANSLATION_X而不是translation.equals(TRANSLATION_X).
然后,您可以使用以下when语句:
when (translation) {
TRANSLATION_X, TRANSLATION_Y, TRANSLATION_Z -> return
else -> translation = TRANSLATION_X
}
Run Code Online (Sandbox Code Playgroud)
另一种可能比when表达式更有效的替代方法是使用Set:
val options = setOf(TRANSLATION_X, TRANSLATION_Y, TRANSLATION_Z)
if (translation in options) return
else translation = TRANSLATION_X
Run Code Online (Sandbox Code Playgroud)
小智 6
在这种情况下似乎适合使用 when 语句:
val translation = when( translation ) {
TRANSLATION_X -> translation
TRANSLATION_Y -> translation
TRANSLATION_Z -> translation
else TRANSLATION_X
}
Run Code Online (Sandbox Code Playgroud)
我认为您也可以将三个类似的案例组合在一个句子中,如下所示:
val translation = when( translation ) {
TRANSLATION_X, TRANSLATION_Y, TRANSLATION_Z -> translation
else TRANSLATION_X
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3114 次 |
| 最近记录: |