Switch Pattern Matching
JDK 21 增强了 switch 表达式的模式匹配功能。
模式守卫
java
String result = switch (obj) {
case Integer i when i > 0 -> "正整数: " + i;
case Integer i -> "整数: " + i;
case String s -> "字符串: " + s;
case null -> "null";
default -> "未知";
};多类型模式
java
String result = switch (obj) {
case List list && list.size() > 0 -> "非空列表";
case List list -> "空列表";
case String s -> "字符串: " + s;
default -> "其他";
};小结
Pattern Matching for switch 简化了类型检查:
- 模式守卫(when 子句)
- 多类型组合
- null 处理
JDK 21+ 可用。
