0
点赞
收藏
分享

微信扫一扫

JDK12新特性之switch表达式

Sky飞羽 2021-10-15 阅读 73
技术分享

最近因为工作的关系,写了一段switch语句的业务代码。再者是前两天JDK12发布,便稍微看了一下,当时便看到了新特性中的switch表达式,所以便悄悄地尝了个鲜。

JDK12下载地址:https://www.oracle.com/technetwork/java/javase/downloads/index.html

JDK12带来的新特性
Switch Expressions

Switch表达式就好比Java8中的Lambda表达式一样,真的是为开发者准备的新特性。下面就用官方的例子来说明一下。
现在的写法是

switch(day){
     case MONDAY:
     case FRIDAY:
     case SUNDAY:
            System.out.println(6);
            break;
     case TUESDAY:
            System.out.println(7);
            break;
     case THURSDAY:
     case SATURDAY:
            System.out.println(8);
            break;
     case WEDNESDAY:
            System.out.println(9);
            break;
}

用Switch表达式来完成

switch (day) {
        case MONDAY, FRIDAY, SUNDAY -> System.out.println(6);
        case TUESDAY -> System.out.println(7);
        case THURSDAY, SATURDAY -> System.out.println(8);
        case WEDNESDAY -> System.out.println(9);
}

更加优雅的来完成

int numLetters = switch (day) {
       case MONDAY, FRIDAY, SUNDAY -> 6;
       case TUESDAY -> 7;
       case THURSDAY, SATURDAY -> 8;
       case WEDNESDAY -> 9;
};

不仅仅是Switch表达式,还有Java的一系列的新特性,为我们勾勒出了Java语法进化的一个趋势,将开发者从复杂繁琐的低层次抽象中逐渐解放出来,以更高层次更优雅的抽象,既降低代码量,又避免意外编程错误的出现,进而提高代码质量和开发效率。

举报

相关推荐

0 条评论