前言
創(chuàng)新互聯(lián)建站一直通過網(wǎng)站建設(shè)和網(wǎng)站營銷幫助企業(yè)獲得更多客戶資源。 以"深度挖掘,量身打造,注重實效"的一站式服務(wù),以網(wǎng)站制作、網(wǎng)站設(shè)計、移動互聯(lián)產(chǎn)品、網(wǎng)絡(luò)營銷推廣服務(wù)為核心業(yè)務(wù)。十多年網(wǎng)站制作的經(jīng)驗,使用新網(wǎng)站建設(shè)技術(shù),全新開發(fā)出的標準網(wǎng)站,不但價格便宜而且實用、靈活,特別適合中小公司網(wǎng)站制作。網(wǎng)站管理系統(tǒng)簡單易用,維護方便,您可以完全操作網(wǎng)站資料,是中小公司快速網(wǎng)站建設(shè)的選擇。毫無疑問,Java 8是Java自Java 5(發(fā)布于2004年)之后的最重要的版本。這個版本包含語言、編譯器、庫、工具和JVM等方面的十多個新特性。
Java 8是Java的一個重大版本,有人認為,雖然這些新特性領(lǐng)Java開發(fā)人員十分期待,但同時也需要花不少精力去學(xué)習(xí)。下面本文就給大家詳細介紹了Java8中新特性O(shè)ptional、接口中默認方法和靜態(tài)方法的相關(guān)內(nèi)容,話不多說了,來一起看看詳細的介紹吧。
Optional
Optional 類(java.util.Optional
) 是一個容器類,代表一個值存在或不存在,原來用 null 表示一個值不存在,現(xiàn)在 Optional 可以更好的表達這個概念。并且可以避免空指針異常。
常用方法:
Optional.of(T t)
: 創(chuàng)建一個 Optional 實例。Optional.empty()
: 創(chuàng)建一個空的 Optional 實例。Optional.ofNullable(T t)
若 t 不為 null,創(chuàng)建 Optional 實例,否則創(chuàng)建空實例。isPresent()
: 判斷是否包含值。orElse(T t)
: 如果調(diào)用對象包含值,返回該值,否則返回t。orElseGet(Supplier s)
:如果調(diào)用對象包含值,返回該值,否則返回 s 獲取的值。map(Function f)
如果有值對其處理,并返回處理后的Optional,否則返回 Optional.empty()
flatMap(Function mapper)
與 map 類似,要求返回值必須是Optional。下面引用ImportNew的一段內(nèi)容來告訴我們?nèi)绾握_使用Optional。比如千萬不要寫成這樣子:
public static String getName(User u) { Optionaluser = Optional.ofNullable(u); if (!user.isPresent()) return "Unknown"; return user.get().name; }