來自:Java技術(shù)棧
Java 12 中對(duì) switch 的語法更友好了,那么在 Java 12 中可以怎樣玩 switch?
先來定義一個(gè)枚舉類:
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("狀態(tài)不正確");}System.out.println("resultis"+result);}
Java 12 后可以這樣用:
privatestaticvoidtestSwitch2(Statusstatus){varresult=switch(status){caOPEN->1;caPROCESS,PENDING->2;caCLOSE->3;default->thrownewRuntimeException("狀態(tài)不正確");};System.out.println("resultis"+result);}
示例代碼看了都懂吧,是不是很騷?
Java 12 switch 有以下幾點(diǎn)特色:
箭頭語法 ->,類似 Java 8 中的 Lambda 表達(dá)式;可以直接返回值給一個(gè)變量,并且可以不用 break 關(guān)鍵字;ca 條件,多個(gè)可以寫在一行,用逗號(hào)分開;可以省略 break 關(guān)鍵字;當(dāng)然你也可以使用 break 關(guān)鍵字,后面跟值:
privatestaticvoidtestSwitch3(Statusstatus){varresult=switch(status){caOPEN->{break1;}caPROCESS,PENDING->{break2;}caCLOSE->{break3;}default->{break5;}};System.out.println("resultis"+result);}
不推薦用這種,在編譯器也會(huì)顯示灰色,并提示你更改。
最后,這個(gè)新特性是 Java 12 預(yù)覽版中的特性:JEP 325: Switch Expressions (Preview),要使用這個(gè)新特性,請(qǐng)切換至 Java 12 預(yù)覽版。
參考 https://openjdk.java.net/jeps/325
好了,今天的分享就到這,收藏轉(zhuǎn)發(fā)一下吧,多學(xué)習(xí)了解,日后必定有用!
本文發(fā)布于:2023-02-28 20:03:00,感謝您對(duì)本站的認(rèn)可!
本文鏈接:http://www.newhan.cn/zhishi/a/167765232577619.html
版權(quán)聲明:本站內(nèi)容均來自互聯(lián)網(wǎng),僅供演示用,請(qǐng)勿用于商業(yè)和其他非法用途。如果侵犯了您的權(quán)益請(qǐng)與我們聯(lián)系,我們將在24小時(shí)內(nèi)刪除。
本文word下載地址:java switch(javaswitch語句).doc
本文 PDF 下載地址:java switch(javaswitch語句).pdf
| 留言與評(píng)論(共有 0 條評(píng)論) |