Java 14引入增强型switch表达式,使用->替代:避免case穿透,支持返回值,通过yield在多行代码中返回结果,可匹配多个值并适用于枚举类型,使代码更简洁安全。

Java中从Java 14开始引入了增强型switch语句(也称为“switch表达式”),它让switch更简洁、更安全,并支持返回值。你不再需要写break防止穿透,也不再容易出错。
使用箭头语法避免case穿透
传统switch中每个case必须写break,否则会继续执行下一个case。增强型switch使用->代替冒号:,自动限制作用域,避免意外穿透。
- 用 -> 替代 : 来分隔case条件和执行体
- 每个分支只执行对应代码,不会“掉入”下一个case
示例:
本文档主要讲述的是Android的Tasker如何使用;Android 上的Tasker绝对称得上是Android系统的神器之一,与Auto Memory Manager不同,Tasker不是加速型的软件,而是系统增强型的软件,由于有众多系统状态可控制,故使得Tasker一跃成为Android系统中 最闪亮的明星。但Tasker也无疑是最难使用的软件,由于可以控制的地方太多,反而让人觉得有些无所适从,不知道要从哪开始下手,使得Tasker的普 及很成问题。这篇文章就是从Tasker的功能谈起,结合设置实例
int day = 3;
String result = switch (day) {
case 1 -> "星期一";
case 2 -> "星期二";
case 3 -> "星期三";
case 4 -> "星期四";
case 5 -> "星期五";
default -> "周末";
};
System.out.println(result); // 输出:星期三
在case中执行多行代码
如果某个case需要执行多条语句,可以用大括号{}包裹,并通过yield返回值。
立即学习“Java免费学习笔记(深入)”;
- 使用 yield 返回switch表达式的值
- yield 是专门用于switch表达式中的返回关键字
示例:
int score = 85;
String grade = switch (score / 10) {
case 10, 9 -> "A";
case 8 -> {
System.out.println("良好");
yield "B";
}
case 7, 6 -> "C";
default -> "不及格";
};
System.out.println(grade); // 输出:良好 \n B
支持多个匹配值(用逗号分隔)
一个case可以匹配多个值,用逗号分开,提升可读性。
如上面例子中 case 10, 9 表示当值为10或9时都返回"A"。
处理枚举类型
增强型switch同样适用于枚举,语法一致,更加清晰。
enum Color { RED, GREEN, BLUE }
Color c = Color.RED;
String info = switch (c) {
case RED -> "红色表示停止";
case GREEN -> "绿色表示通行";
case BLUE -> "蓝色表示信息";
};
基本上就这些。增强型switch让代码更简洁、逻辑更清晰,特别是在需要根据条件返回不同值时特别有用。注意要确保所有可能路径都有返回值,编译器会检查是否覆盖所有情况。









