您好,登錄后才能下訂單哦!
本篇內(nèi)容主要講解“Java 8有哪些新特性”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學(xué)習(xí)“Java 8有哪些新特性”吧!
介紹
Java 8 (又稱為 jdk 1.8) 是 Java 語言開發(fā)的一個主要版本。 Oracle 公司于 2014 年 3 月 18 日發(fā)布 Java 8 ,它支持函數(shù)式編程,新的 JavaScript 引擎,新的日期 API,新的Stream API 等。
新特性
Java8 新增了非常多的特性,我們主要討論以下幾個:
1.Lambda 表達式 ? Lambda 允許把函數(shù)作為一個方法的參數(shù)(函數(shù)作為參數(shù)傳遞到方法中)。
語法格式如下 :
(parameters) -> expression
或
(parameters) ->{ statements; }
lambda表達式的重要特征:
a. 可選類型聲明:不需要聲明參數(shù)類型,編譯器可以統(tǒng)一識別參數(shù)值。
b. 可選的參數(shù)圓括號:一個參數(shù)無需定義圓括號,但多個參數(shù)需要定義圓括號。
c. 可選的大括號:如果主體包含了一個語句,就不需要使用大括號。
d. 可選的返回關(guān)鍵字:如果主體只有一個表達式返回值則編譯器會自動返回值,大括號需要指定明表達式返回了一個數(shù)值。
實例:
// 1. 不需要參數(shù),返回值為 5
() -> 5
// 2. 接收一個參數(shù)(數(shù)字類型),返回其2倍的值
x -> 2 * x
// 3. 接受2個參數(shù)(數(shù)字),并返回他們的差值
(x, y) -> x – y
// 4. 接收2個int型整數(shù),返回他們的和
(int x, int y) -> x + y
// 5. 接受一個 string 對象,并在控制臺打印,不返回任何值(看起來像是返回void)
(String s) -> System.out.print(s)
2.方法引用 ? 方法引用提供了非常有用的語法,可以直接引用已有Java類或?qū)ο螅▽嵗┑姆椒ɑ驑?gòu)造器。與lambda聯(lián)合使用,方法引用可以使語言的構(gòu)造更緊湊簡潔,減少冗余代碼。
方法引用使用一對冒號 ::
不同引入如下:
構(gòu)造器引用:它的語法是Class::new
靜態(tài)方法引用:它的語法是Class::static_method
特定類的任意對象的方法引用:它的語法是Class::method
特定對象的方法引用:它的語法是instance::method
3.默認方法 ? 默認方法就是一個在接口里面有了一個實現(xiàn)的方法。
只需在方法名前面加個 default 關(guān)鍵字即可實現(xiàn)默認方法;
4.新工具 ? 新的編譯工具,如:Nashorn引擎 jjs、 類依賴分析器jdeps。
5.Stream API ?新添加的Stream API(java.util.stream) 把真正的函數(shù)式編程風格引入到Java中。
6.Date Time API ? 加強對日期與時間的處理。
7.Optional 類 ? Optional 類已經(jīng)成為 Java 8 類庫的一部分,用來解決空指針異常。
8.Nashorn, JavaScript 引擎 ? Java 8提供了一個新的Nashorn javascript引擎,它允許我們在JVM上運行特定的javascript應(yīng)用。
到此,相信大家對“Java 8有哪些新特性”有了更深的了解,不妨來實際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進入相關(guān)頻道進行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。