近期 Java 界好消息頻傳。先是 Java 13 發佈,接着 Eclipse 也發佈了新版本表示支持新版本的Java 特性。 本文介紹了 Java 13 的新特性並展現了相關的示例。html
2019年9月17日,Java 13 正式發佈。特性以下。java
此版本帶來了如下幾大新特性:git
JDK 13下載地址爲 https://www.oracle.com/technetwork/java/javase/downloads/index.html。github
以Windows環境爲例,可經過jdk-13_windows-x64_bin.exe或jdk-13_windows-x64_bin.zip來進行安裝。 .exe文件的安裝方式較爲簡單,按照界面提示點擊「下一步」便可。express
下面演示.zip安裝方式。windows
將jdk-13_windows-x64_bin.zip文件解壓到指定的目錄下便可。好比,本例子放置在了D:\Program Files\jdk-13
位置。oracle
建立系統變量「JAVA_HOME」,其值指向了JDK的安裝目錄。eclipse
在用戶變量「Path」中,增長「%JAVA_HOME%\bin」。ui
注:JDK13已經無需再安裝JRE,設置環境變量時也不用設置CLASSPATH了。編碼
執行「java -version」命令進行安裝的驗證:
$ java -version java version "13" 2019-09-17 Java(TM) SE Runtime Environment (build 13+33) Java HotSpot(TM) 64-Bit Server VM (build 13+33, mixed mode, sharing)
若是現實上述信息,則說明JDK已經安裝完成。
若是顯示的內容仍是安裝前的老JDK版本,則可按照以下步驟解決。
首先,卸載老版本的JDK
其次,在命令行輸入以下指令來設置JAVA_HOM和Path:
>SET JAVA_HOME=D:\Program Files\jdk-13 >SET Path=%JAVA_HOME%\bin
在 Java 13 發佈兩天後的2019年9月19日,Eclipse IDE 2019-09 發佈。Eclipse IDE 2019-09 聲稱支持Java 13。接下里將演示如何使用Eclipse IDE 2019-09編寫 Java 13 的示例。
Eclipse IDE 2019-09 下載地址爲 https://www.eclipse.org/downloads/packages/。本例使用的是Eclipse 4.14版本。
下面是原有的Switch表達式的寫法:
switch (day) { case MONDAY: case FRIDAY: case SUNDAY: System.out.println(6); break; case TUESDAY: System.out.println(7); break; case THURSDAY: case SATURDAY: System.out.println(8); break; case WEDNESDAY: System.out.println(9); break; }
在Java 12中,Switch表達式能夠改成以下寫法:
switch (day) { case MONDAY, FRIDAY, SUNDAY -> System.out.println(6); case TUESDAY -> System.out.println(7); case THURSDAY, SATURDAY -> System.out.println(8); case WEDNESDAY -> System.out.println(9); }
還能支持在表達式中返回值:
int numLetters = switch (day) { case MONDAY, FRIDAY, SUNDAY -> 6; case TUESDAY -> 7; case THURSDAY, SATURDAY -> 8; case WEDNESDAY -> 9; };
在Java 13中,Switch表達式能夠改成以下寫法:
int date = switch (day) { case MONDAY, FRIDAY, SUNDAY : yield 6; case TUESDAY : yield 7; case THURSDAY, SATURDAY : yield 8; case WEDNESDAY : yield 9; default : yield 1; // default條件是必須的 }; System.out.println(date);
須要注意的是,在使用yield時,必需要有default條件。
自Java 13開始,支持文本塊(Text Blocks)。
如下是Java 13以前的文本塊的處理方式的示例:
String html = "<html>\n" + " <body>\n" + " <p>Hello, world</p>\n" + " </body>\n" + "</html>\n"; System.out.println(html);
在上述示例中,因爲文本塊須要換行,因此產生了不少本文的拼接和轉義。
如下是Java 13中的文本塊示例:
String html2 = """ <html> <body> <p>Hello, world</p> </body> </html> """; System.out.println(html2);
在上述示例中,對於文本塊的處理變得簡潔、天然。
以上兩個示例在控制檯輸出內容都是同樣的,效果以下:
<html> <body> <p>Hello, world</p> </body> </html>
更多Java示例,可見「現代Java案例大全」。