如何打破kotlinwhen子句?
假设我有 Java 代码
@Override
public boolean onTouch(View view, MotionEvent motionEvent) {
switch (motionEvent.getActionMasked()) {
case MotionEvent.ACTION_DOWN: {
if (something()) {
break;
}
// do more stuff here
break;
}
}
return false;
}
我为这样的东西重写了它,但我不确定它是正确的,它没有任何缺陷。
override fun onTouch(view: View, motionEvent: MotionEvent): Boolean {
when (motionEvent.actionMasked) {
MotionEvent.ACTION_DOWN -> {
if (something()) {
return false
}
// do more stuff here
}
}
return false
}
在 kotlin 中break像在 java switch 语句中一样模拟/实现的最佳方法是什么?
回答
Kotlinwhen表达式switch在执行方面与 Java 表达式有很大不同。在 Java 中,如果您不中断,switch 调用将尝试运行下一个可用案例。在 Kotlin 中,只要满足第一个条件,when调用就会自动中断,因此您实际上并不需要breakKotlinwhen表达式中的语句。