📜  Java 13 中 Switch 语句的增强(1)

📅  最后修改于: 2023-12-03 14:42:12.445000             🧑  作者: Mango

Java 13 中 Switch 语句的增强

Java 13 中增强了 Switch 语句,使其更加灵活,支持更多种类型的值选择。下面是关于这个增强的详细内容:

使用字符串

Java 13 中的 Switch 语句支持使用字符串类型进行选择,该增强使代码更加清晰和易读。例如:

String fruit = "apple";

switch (fruit) {
   case "apple" -> System.out.println("This is an apple");
   case "banana" -> System.out.println("This is a banana");
   case "orange" -> System.out.println("This is an orange");
   default -> System.out.println("Unknown fruit");
}

这段代码使用 Switch 语句,根据字符串类型的值来选择不同的分支。注意 Switch 语句中每个分支使用了箭头表达式来替代原来的冒号,使得代码更加简洁和易读。

使用多个表达式

Java 13 中的 Switch 语句支持使用多个表达式进行选择,使得开发者可以将相同的代码块放在一个分支内。例如:

int day = 5;

switch (day) {
   case 1, 2, 3, 4, 5 -> System.out.println("Weekday");
   case 6, 7 -> System.out.println("Weekend");
   default -> System.out.println("Invalid day");
}

这段代码使用 Switch 语句,根据整数类型的值来选择不同的分支。注意 Switch 语句中第一个分支使用了多个表达式来表示星期一到星期五都是工作日,让代码更加简洁和易读。

使用 yield 返回值

Java 13 中的 Switch 语句支持使用 yield 关键字返回值,使得 Switch 语句可以像方法一样返回值。例如:

enum Fruit {
    APPLE, BANANA, ORANGE;
}

int getFruitNumber(Fruit fruit) {
    int fruitNumber = switch (fruit) {
        case APPLE -> 1;
        case BANANA -> 2;
        case ORANGE -> 3;
        default -> 0;
    };
    return fruitNumber;
}

这段代码使用 Switch 语句,根据 Fruit 枚举类型的值来选择不同的分支,使用 yield 关键字返回值。注意使用 Switch 语句的方法 getFruitNumber 可以像普通方法一样返回值了。

总结

Java 13 中增强了 Switch 语句,使其更加灵活和强大。增强的 Switch 语句支持使用字符串、多个表达式、yield 返回值等特性,让代码更加简洁和易读。开发者可以根据自己的需要使用不同的特性,来提高代码的可读性和可维护性。