java21switch
时间: 2024-11-19 20:16:22 浏览: 1
Java 21(也称为Java SE 17)引入了一些新的特性,其中最引人注目的之一就是对Switch表达式的改进。之前的版本中,我们通常使用if-else语句链来处理枚举类型或预定义常量的情况,而在Java 21中,Switch表达式简化了这种结构:
1. **简洁语法**:Java 21允许直接将变量、枚举值或字符串放入Switch语句,无需额外的匹配条件,提高了代码的可读性和简洁性。
```java
String dayOfWeek = "Monday";
switch (dayOfWeek) {
case "Monday":
System.out.println("Today is Monday");
break;
// 更多case分支...
}
```
2. **范围控制**:如果需要检查的是整数、字符或其他类型,并且这些类型的范围已知,可以使用范围操作符`to`来创建一个范围,所有在这个范围内的值都可以匹配。
```java
int num = 5;
switch (num) {
from (0 to 4) -> System.out.println("Single digit number");
// 更多case分支...
}
```
3. **模式匹配**:对于可变参数类型,如数组或集合,Java 21引入了模式匹配支持,可以根据元素的特定情况执行相应操作。
```java
List<String> fruits = Arrays.asList("Apple", "Banana", "Cherry");
switch (fruits) {
case List.of("Apple", _*) -> System.out.println("First two fruits are apples");
// 其他匹配分支...
}
```
尽管这些新特性使得代码更易读和编写,但它们并不改变原有的if-else语句的基本功能,只是提供了一种新的选项来处理条件判断。
阅读全文