JDK8新特性

lambda表達式

lambda 特殊的匿名內(nèi)部類,語法更簡潔。允許把函數(shù)作為一個方法的參數(shù)進行傳遞。

基本語法 <函數(shù)式接口><變量名>=(參數(shù)1,參數(shù)2..)->{方法體}

形參列表的數(shù)據(jù)類型會自動推斷;如果形參列表為空,只需保留();如果形參只有一個,()可以省略,只需要參數(shù)的名稱即可;如果執(zhí)行語句只有一句且無返回值,可以省略{},若有返回值想省去{},需同時省略return,且執(zhí)行語句也保證只有一句。

lambda不會生成一個單獨的內(nèi)部類文件(匿名內(nèi)部類會生成)。

方法引用

函數(shù)式接口參數(shù)類型返回類型說明

Consumer<T>消費型接口Tvoidvoid accept(T t);對類型為T的對象應用操作

Supplier<T>供給行接口無TT get();返回類型為T的對象

Function<T,R>函數(shù)型接口TRR apply(T,t);對類型為T的對象應用操作,并返回類型為R類型的對象

Predcate<T>斷言型接口Tbooleanboolean test(T,t);確定類型為T的對象是否滿足條件,并返回boolean類型。

@FunctionalInterface函數(shù)式接口-(一個接口只有一個抽象方法)

函數(shù)式接口才可以使用Lambda表達式,lambda表達式會被匹配到這個抽象方法上。

Stream-流中保存對集合或數(shù)組數(shù)據(jù)的操作。和集合類似,但集合中保存的時候數(shù)據(jù)。

Stream自身不會存儲元素

不會改變源對象。相反,他們會返回一個持有結(jié)果的新的stream

stream的操作是延遲執(zhí)行的。意味著他們會等需要結(jié)果的時候才執(zhí)行

新時間API(DateTimeFormatter線程安全)

之前的時間API存在問題:線程安全問題(SimpleDateFormat線程不安全)丶設(shè)計混亂

本地化日期時間 API

LocalDate

LocalTime

LocalDateTime?

Instant:時間戳 (1970-now 的毫秒數(shù))

ZoneId:時區(qū)

Date,Instant, LocalDateTime的轉(zhuǎn)換

Date->Instant->LocalDateTime? date.toInstant();? LocalDateTime.ofInstant

LocalDateTime->Instant->Date?

localDateTime.atZone(ZoneId.systemDefault()).toInstant

Date.from()

DateTimeFormatter:格式化類

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。
禁止轉(zhuǎn)載,如需轉(zhuǎn)載請通過簡信或評論聯(lián)系作者。

相關(guān)閱讀更多精彩內(nèi)容

  • 一、Lambda表達式二、方法調(diào)用(雙冒號)的用法三、Stream函數(shù)式操作流元素集合四 、接口新增:默認方法與靜...
    yannhuang閱讀 896評論 0 0
  • 微信搜「煙雨星空」,白嫖更多好文。 現(xiàn)在 Oracle 官方每隔半年就會出一個 JDK 新版本。按時間來算的話,這...
    煙雨星空閱讀 1,425評論 2 4
  • 閱讀原文 Chapter 14 . JDK8新特性 14.1 Lambda 表達式 Lambda 是一個匿名函數(shù),...
    GeekGray閱讀 1,085評論 0 10
  • Jdk8相對之前的jdk加入了很多的新特性。 1:jdk中加入了default關(guān)鍵字。 在java里面,我們通常都...
    塵埃里的玄閱讀 813評論 0 0
  • 官方新特性說明地址 下面對幾個常用的特性做下重點說明。 一、Lambda表達式 1.1 函數(shù)式編程 百科介紹:h...
    丘八老爺閱讀 1,038評論 0 6

友情鏈接更多精彩內(nèi)容