0
点赞
收藏
分享

微信扫一扫

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新特性这个专题,我正在连载Java新特性专栏:https://www.didispace.com/java-features/,文档形式看Java新特性,阅读学习体验更佳!


举报

相关推荐

0 条评论