美文网首页
JAVA 12 新特性 Switch Expressions

JAVA 12 新特性 Switch Expressions

作者: 宋雾代 | 来源:发表于2019-03-30 19:36 被阅读0次

这是一个为开发者准备的特性,我们可以利用具体代码快速了解一下,下面是传统 statement 形式的 switch 语法:

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 语句如果漏写了一个 break,那么逻辑往往就跑偏了,这种方式既繁琐,又容易出错。如果换成 switch 表达式,Pattern Matching 机制能够自然地保证只有单一路径会被执行,请看下面的代码示例:

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 Expressions 或者说起相关的 Pattern Matching 特性,为我们提供了勾勒出了 Java 语法进化的一个趋势,将开发者从复杂繁琐的低层次抽象中逐渐解放出来,以更高层次更优雅的抽象,既降低代码量,又避免意外编程错误的出现,进而提高代码质量和开发效率。

相关文章

  • JAVA 12 新特性 Switch Expressions

    这是一个为开发者准备的特性,我们可以利用具体代码快速了解一下,下面是传统 statement 形式的 switch...

  • Java12新特性

    Java12新特性概述 2019-03-19正式发布Java12 的版本 switch表达式扩展(预览功能) Ja...

  • Java14新特性:Switch表达式

    Java 14正式发布switch表达式特性。在之前的两个 Java 版本Java12,Java13,switch...

  • Java7新特性及使用

    Java7新特性及使用 新特性列表 以下是Java7中的引入的部分新特性。 switch支持String try-...

  • Java switch语句出现case expressions

    下面代码会报case expressions must be constant expressions错误 cas...

  • Java11的新特性

    Java语言特性系列 Java5的新特性 Java6的新特性 Java7的新特性 Java8的新特性 Java9的...

  • Java15的新特性

    Java语言特性系列 Java5的新特性 Java6的新特性 Java7的新特性 Java8的新特性 Java9的...

  • Java12的新特性

    Java语言特性系列 Java5的新特性 Java6的新特性 Java7的新特性 Java8的新特性 Java9的...

  • Switch String

    Switch stringJava 7新特性,原来switch只能支持int,byte。short,char,枚举...

  • Java 12 骚操作, switch居然还能这样玩!

    Java 13 都快要来了,12必须跟栈长学起! Java 13 即将发布,新特性必须抢先看! Java 12 中...

网友评论

      本文标题:JAVA 12 新特性 Switch Expressions

      本文链接:https://www.haomeiwen.com/subject/fkbsbqtx.html