贯穿可以刻意使用
传统冒号分支有时会借贯穿复用后续动作,但应写清楚注释,避免读者把遗漏 break 当成意外。
DISPATCH TRACE · 入口只定位一次
选择器先求值一次,再定位入口标签。传统冒号写法可能从入口向下贯穿;箭头写法则只执行命中的一条规则。
开启:命中分支执行后立即离开 switch。
这里每条箭头规则只是一个简单表达式,因此直接写右侧值即可,不需要 yield;箭头规则不会贯穿。
String role = switch (level) {
case 1 -> "基础";
case 2 -> "编辑";
case 3 -> "管理";
default -> "未知";
};
传统冒号分支有时会借贯穿复用后续动作,但应写清楚注释,避免读者把遗漏 break 当成意外。
命中某条 case ... -> 后只执行这一支,不需要用 break 阻止落入下一支。
default 处理的是没有匹配标签的值。这里若 level 来自可为 null 的 Integer,进入普通整数 switch 前应先明确处理 null。