Java 21箭头语法switch中void空分支的简洁实现方案咨询
Java 21 箭头式switch实现空分支的简洁方案
在将传统switch/case转换为Java 21箭头语法时,针对case C的空操作需求,无需定义空方法或编写无意义语句,最简洁合规的方式是使用空代码块:
switch (t) { case A -> foo1(); case B -> foo2(); case C -> {}; // 空代码块等价于原逻辑的break空操作 default -> foo3(); }
原理说明
Java 21的箭头switch分支支持两种写法:
- 单个表达式或语句(如
foo1()) - 用花括号包裹的任意代码块
空代码块{}属于合法的代码块形式,不会执行任何逻辑,完全匹配原代码中case C: break;的空分支需求,既简洁又符合语法规范。
如果你的枚举TestEnum仅包含A、B、C三个枚举值,且t不会为null,还可以省略default分支(枚举switch在覆盖所有case时编译器会自动处理),但保留default也完全没问题,取决于原代码的逻辑需求。
内容的提问来源于stack exchange,提问作者dominik
相关产品推荐
相关产品推荐

