Java 10釋出
\\\看新聞很累?看技術新聞更累?試試下載InfoQ手機客戶端,每天上下班路上聽新聞,有趣還有料!
\
Oracle釋出了新版本的Java,即Java 10。這個版本距離Java 9的釋出剛剛過去了六個月,和上個版本一樣,它也是特性發布版本,其生命週期只有六個月。
\\隨著Java 10的釋出,Java 9隨即被廢止,以後不會再有Java 9的免費支援版本釋出。從3月20日開始,Oracle免費支援的Java版本是Java 8和Java 10。下一個長期支援的版本將會是Java 11,預計會在2018年九月份釋出。
\\最終的釋出版本與RC1候選版本幾乎沒有什麼差別,從InfoQ 2017年11月報導釋出內容之後,Java 10並沒有新增什麼重要的特性。
\\關於該版本語言級別的變更,可以通過版本的完整文件和釋出說明獲取。
\\對於開發人員來說,一個重要的變更就是新增了var
。這是對Java型別推斷功能的增強,該特性已被證明比它剛剛出現的時候更為重要。在最簡單的場景中,var
允許我們按照如下的方式編寫程式碼:
var foo = new ArrayList\u0026lt;String\u0026gt;();\\
它將推斷從值的型別轉移到了變數中。
\\在Java 10中,該特性的實現是通過將var
作為保留型別名而不是作為關鍵字來實現的。這意味著,使用var作為變數名、方法或包名並不會受到影響。
除了簡單的場景,它實際上還允許我們使用以前所不允許的程式設計結構。例如,javac
一直允許使用功能非常有限的型別推斷形式:
public class Test {\ public static void main(String[] args) {\ (new Object() {\ public void bar() {\ System.out.println(\"bar!\");\ }\ }).bar();\ }\}\\
在Java 7出現之前,它的功能邊界已經被Java社群所知曉。
\\這種形式的型別推斷所面臨的問題在於它沒有辦法實際應用,“具有bar方法的物件”存在於編譯器中,但是該型別無法通過變數型別的方式來表述,它並不是可表示的型別。
\\隨著Java 10的釋出,變數的型別不再需要明確指定,var
能夠避免明確表示型別,從而允許我們保留靜態的型別資訊。這意味著我們可以修改樣例程式碼,編寫成如下的樣子:
var o = new Object() {\ public void bar() {\ System.out.println(\"bar!\");\ }\};\\o.bar();\\
將var
作為“魔力型別”來使用,允許程式設計師以某種方式保留每次型別推斷的型別資訊,這不禁讓人聯想到Java泛型的約束。
關於var
如何實現非表示性型別的更高階用法,可以參考該文章。儘管該特性無法滿足每個批判者對Java型別系統的質疑,但是它的確代表了一種堅定(可能也是謹慎的)的進步。
檢視英文原文:Java 10 Released
相關文章
- java11釋出Java
- Java 22 正式釋出Java
- Java 16釋出可用Java
- Debian 10 "buster" 釋出
- java程式linux釋出流程JavaLinux
- 微軟釋出基於ARM晶片的Windows 10的Java OpenJDK微軟晶片WindowsJavaJDK
- Debian 10 “Buster”正式釋出
- 官方正式釋出 Java 16Java
- Oracle Java 14釋出! | Oracle Java平臺組OracleJava
- jenkins自動釋出java程式碼JenkinsJava
- pipeline釋出java網站專案Java網站
- 使用Jitpack釋出開源Java庫Java
- Solon v1.11.0 釋出,Hello JavaJava
- DTM Java SDK 2.1.4釋出,支援springcloudJavaSpringGCCloud
- java10才剛釋出,Java 11又要來了?!一起看看有啥新特性Java
- 支援Java 11的IntelliJ IDEA 2018.2釋出JavaIntelliJIdea
- Java 11正式釋出,新特性解讀Java
- 微軟正式釋出Windows 10 2020年10月更新微軟Windows
- Ng-Matero V10 正式釋出!
- Microsoft釋出2020年10月安全更新ROS
- Nacos 2.0 正式釋出,效能提升 10 倍!!
- Java多功能全棧框架Vaadin 23.0.0釋出Java全棧框架
- 尚矽谷Flink(Java)新版視訊教程釋出Java
- Nacos 2.0 正式釋出,效能提升了 10 倍!!
- Java 11 已釋出,String 還能這樣玩!Java
- Language Server for Java™ 1.0 在VS Code上正式釋出!ServerJava
- Java RPC 框架 Solon 1.3.9 釋出,更便利的支援JavaRPC框架
- 微軟釋出 Visual Studio Code Java 四月更新:支援 Java 18微軟Java
- PostgreSQL10高可用本地SSD盤版本釋出SQL
- Postgres-XL 10R1 release版本釋出
- Win10 Build 19044.1806 Release預覽版釋出Win10UI
- 微軟釋出釋出Windows 10補丁KB4516421 修復麥克風Bug問題微軟Windows
- Javalin2.4.0釋出,Kotlin/Java輕量級Web框架JavaKotlinWeb框架
- Java11已釋出,String還能這樣玩!Java
- Solon Java 應用開發框架 v2.7.5 釋出Java框架
- Java 22正式釋出,一文了解全部新特性Java
- Java 23連夜官宣釋出,IDEA親測可用!JavaIdea
- JDK 18 / Java 18 正式釋出:九項 JDK 增強JDKJava