如何打破 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 语句。