如何使用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 次 |
最近记录: |