Language 入门

switch 作为返回值的表达式——无 break,无穿透。

✕ Java 8
String msg;
switch (day) {
    case MONDAY:
        msg = "Start";
        break;
    case FRIDAY:
        msg = "End";
        break;
    default:
        msg = "Mid";
}
✓ Java 14+
String msg = switch (day) {
    case MONDAY  -> "Start";
    case FRIDAY  -> "End";
    default      -> "Mid";
};
发现此代码有问题? 告诉我们。
🎯

返回值

直接赋值 switch 结果——无需临时变量。

🛡️

无穿透

箭头语法消除因缺少 break 而导致的意外穿透 bug。

穷举性检查

编译器确保所有情况均已覆盖。

旧方式
switch 语句
现代方式
switch 表达式
自 JDK
14
难度
入门
switch 表达式
可用

自 JDK 14 起广泛可用(2020 年 3 月)

switch 表达式直接返回值,使用箭头语法防止穿透,并要求穷举性。编译器检查所有情况是否已处理。

分享 𝕏 🦋 in