Java 14 新特性:switch表达式增强
面对这样的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之后的版本中应用。
本期视频:https://www.bilibili.com/video/BV1gY411A7kG/open in new window
好了,今天的分享就到这里!如果您学习过程中如遇困难?可以加入我们超高质量的技术交流群open in new window,参与交流与讨论,更好的学习与进步!另外,不要走开,关注我!持续更新Java新特性专栏open in new window!