如何打破 kotlin when 子句?
How to break kotlin when clause?
假设我在 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
}
像 java switch 语句那样,在 kotlin break
中 emulate/implement 的最佳方法是什么?
Kotlin when
表达式在执行方面与 Java switch
表达式有很大不同。在 Java 中,如果您不中断,切换调用将尝试 运行 下一个可用案例。在 Kotlin 中,只要满足第一个条件,when
调用就会自动中断,因此您实际上不需要在 Kotlin when
表达式中使用 break
语句。
假设我在 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
}
像 java switch 语句那样,在 kotlin break
中 emulate/implement 的最佳方法是什么?
Kotlin when
表达式在执行方面与 Java switch
表达式有很大不同。在 Java 中,如果您不中断,切换调用将尝试 运行 下一个可用案例。在 Kotlin 中,只要满足第一个条件,when
调用就会自动中断,因此您实际上不需要在 Kotlin when
表达式中使用 break
语句。