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

Java中从Java 14开始引入了增强型switch语句(也称为“switch表达式”),它让switch更简洁、更安全,并支持返回值。你不再需要写break防止穿透,也不再容易出错。
传统switch中每个case必须写break,否则会继续执行下一个case。增强型switch使用->代替冒号:,自动限制作用域,避免意外穿透。
示例:
int day = 3;
String result = switch (day) {
case 1 -> "星期一";
case 2 -> "星期二";
case 3 -> "星期三";
case 4 -> "星期四";
case 5 -> "星期五";
default -> "周末";
};
System.out.println(result); // 输出:星期三
如果某个case需要执行多条语句,可以用大括号{}包裹,并通过yield返回值。
立即学习“Java免费学习笔记(深入)”;
示例:
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让代码更简洁、逻辑更清晰,特别是在需要根据条件返回不同值时特别有用。注意要确保所有可能路径都有返回值,编译器会检查是否覆盖所有情况。
以上就是Java中如何使用增强型switch语句的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号