• Java 14中对switch的增强,终于可以不写break了


    面对这样的if语句,你是不是很难受呢?

    if (flag == 1) {
      log.info("didispace.com: 1");
    } else if (flag == 2) {
      log.info("didispace.com: 2");
    } else if (flag == 3) {
      log.info("didispace.com: 3");
    } else if (flag == 4) {
      log.info("didispace.com: 4");
    } else {
      log.info("didispace.com: x");
    }
    

    是不是想到用switch来改进一下?

    switch(flag) {
      case 1: 
        log.info("didispace.com: 1"); 
        break;
      case 2:
        log.info("didispace.com: 2");
        break;
      case 3:
        log.info("didispace.com: 3");
        break;
      case 4:
        log.info("didispace.com: 4");
        break;
      default:
        log.info("didispace.com: x");
    }
    

    舒服了吗?是不是感觉还是不那么舒服呢?

    试试Java 14中对Switch表达式的增强功能,继续改造:

    switch(flag) {
      case 1  -> log.info("didispace.com: 1");
      case 2  -> log.info("didispace.com: 2");
      case 3  -> log.info("didispace.com: 3");
      case 4  -> log.info("didispace.com: 4");
      default -> log.info("didispace.com: x");
    }
    

    这下是不是舒服了?在Java 14的switch表达式增强中,引入了对Lambda语法的支持,让每个case分支变得更为简洁。同时,容易遗忘的break也可以省略了。

    Tips:这里的JEP 361特性,经历了JDK 12、JDK 13两个预览版本之后才在JDK 14中定稿,所以部分功能在JDK 12和JDK 13中也会看到,但真正使用,还是建议在JDK 14之后的版本中应用。

    好了,今天的分享就到这里!如果您学习过程中如遇困难?可以加入我们超高质量的技术交流群,参与交流与讨论,更好的学习与进步!另外,不要走开,关注我!持续更新Java新特性专栏

    欢迎关注我的公众号:程序猿DD。第一时间了解前沿行业消息、分享深度技术干货、获取优质学习资源

  • 相关阅读:
    GDI 设备环境句柄(2)
    GDI 像素(5)
    Api+Mvc增删查改
    sql语句全
    Mvc 导出
    触发器、事务
    计算时间戳的差
    SQL行转列经典例子(转载)
    Socket (套接字)通信
    MVC上传图片
  • 原文地址:https://www.cnblogs.com/didispace/p/16250094.html
Copyright © 2020-2023  润新知