来自:Java技术栈
Java 12 中对 switch 的语法更友好了,那么在 Java 12 中可以怎样玩 switch?
先来定义一个枚举类:
publicenumStatus{OPEN,INIT,PROCESS,PENDING,CLOSE;}
Java 12 之前是这样用的:
privatestaticvoidtestSwitch1(Statusstatus){intresult=0;switch(status){caOPEN:result=1;break;caPROCESS:result=2;break;caPENDING:result=2;break;caCLOSE:result=3;break;default:thrownewRuntimeException("状态不正确");}System.out.println("resultis"+result);}
Java 12 后可以这样用:
privatestaticvoidtestSwitch2(Statusstatus){varresult=switch(status){caOPEN->1;caPROCESS,PENDING->2;caCLOSE->3;default->thrownewRuntimeException("状态不正确");};System.out.println("resultis"+result);}
示例代码看了都懂吧,是不是很骚?
Java 12 switch 有以下几点特色:
箭头语法 ->,类似 Java 8 中的 Lambda 表达式;可以直接返回值给一个变量,并且可以不用 break 关键字;ca 条件,多个可以写在一行,用逗号分开;可以省略 break 关键字;当然你也可以使用 break 关键字,后面跟值:
privatestaticvoidtestSwitch3(Statusstatus){varresult=switch(status){caOPEN->{break1;}caPROCESS,PENDING->{break2;}caCLOSE->{break3;}default->{break5;}};System.out.println("resultis"+result);}
不推荐用这种,在编译器也会显示灰色,并提示你更改。
最后,这个新特性是 Java 12 预览版中的特性:JEP 325: Switch Expressions (Preview),要使用这个新特性,请切换至 Java 12 预览版。
参考 https://openjdk.java.net/jeps/325
好了,今天的分享就到这,收藏转发一下吧,多学习了解,日后必定有用!
本文发布于:2023-02-28 20:03:00,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/zhishi/a/167765232577619.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:java switch(javaswitch语句).doc
本文 PDF 下载地址:java switch(javaswitch语句).pdf
留言与评论(共有 0 条评论) |