Java 8 | 新特性簡單介紹
📑 目錄

最近在工作上在處理日期時區上的問題,以前拜讀過相關的文章,隱約記得時區問題很難處理,沒想到自己有這麼一天處理時區問題,我想說的是⋯⋯XXX真的有夠難處理;要注意和考慮的東西太多了,還有很多技術債,在讀完寫完這個Java 8的新特性後,我一定會接著把時區問題拉出來好好寫一番。
這邊會突然介紹Java 8的新特性,主要是因為自己的不熟悉,以往工作上都是使用Java 7以下的版本居多,雖然Java 8有拜讀過,但是實際下去使用和深入研究是沒有的。身為一個技術人,持續進步、努力學習、虛心受教,不會不懂不知道並不可恥,可恥的是不願意承認,保持良好的學習心態才是最重要的。
在開始之前先將Java 8的新特性稍微簡介一下,後面再一個一個深入了解並且演練。
Java 8
Java 8(又稱為jdk 1.8) 是Java語言開發的一個主要版本。
Oracle 公司於2014年3月18日發布Java 8,它支持函數式編程,新的JavaScript引擎,新的日期API,新的Stream API等。
Java 8 新特性
Java 8新增了非常多的特性,我們主要討論以下幾個:
Lambda表達式:Lambda允許把函數作為一個方法的參數(函數作為參數傳遞到方法中)。方法引用:方法引用提供了非常有用的語法,可以直接引用已有
Java類或對象(實例)的方法或構造器。與lambda聯合使用,方法引用可以使語言的構造更緊湊簡潔,減少冗餘程式碼。默認方法:默認方法就是一個在接口裡面有了一個實現的方法。
新工具:新的編譯工具,如:
Nashorn引擎jjs、類依賴分析器jdeps。Stream API:新添加的Stream API(java.util.stream) 把真正的函數式編程風格引入到Java中。Date Time API:加強對日期與時間的處理。Optional類:Optional類已經成為Java 8類庫的一部分,用來解決空指針異常。Nashorn,JavaScript引擎:Java 8提供了一個新的Nashorn javascript引擎,它允許我們在JVM上運行特定的javascript應用。
1 | import java.util.Collections; |
輸出的結果為:
1 | 使用 Java 7 語法: |