最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JDK8新特性之判空遍歷寫法

 更新時(shí)間:2019年10月28日 10:46:25   作者:sunnyzyq  
這篇文章主要介紹了JDK8新特性之判空遍歷寫法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

在工作中,經(jīng)常會(huì)處理各種變量,但往往會(huì)在使用變量的時(shí)候,要進(jìn)行空判斷,不然要報(bào)錯(cuò)。

Java 8 提供了判空寫法:

Optional.ofNullable(變量).orElse(默認(rèn)值);

例1:求字符串 s 的長(zhǎng)度( 為空的時(shí)候返回0 )。

常規(guī)寫法:

String s = getKey();
if (s == null) {
 return 0; 
} else {
 return s.length();
}

Java 8 寫法:

String s = getKey();
return Optional.ofNullable(s).orElse("").length();

例2:循環(huán)遍歷集合

常規(guī)寫法:

List<String> list = getList();
if (list != null) {
 for(String s: list){
   System.out.println(s);
 }
}

Java 8 寫法:

List<String> list = getList();
Optional.ofNullable(list).orElse(new ArrayList<>()).forEach(o -> {
   System.out.println(o);
});

PS:使用Optional避免null導(dǎo)致的NullPointerException

空指針異常是導(dǎo)致Java應(yīng)用程序失敗的最常見原因。以前,為了解決空指針異常,Google公司著名的Guava項(xiàng)目引入了Optional類,Guava通過(guò)使用檢查空值的方式來(lái)防止代碼污染,它鼓勵(lì)程序員寫更干凈的代碼。受到Google Guava的啟發(fā),Optional類已經(jīng)成為Java 8類庫(kù)的一部分。Optional實(shí)際上是個(gè)容器:它可以保存類型T的值,或者僅僅保存null。Optional提供很多有用的方法,這樣我們就不用顯式進(jìn)行空值檢測(cè)。

Optional.of()或者Optional.ofNullable():創(chuàng)建Optional對(duì)象,差別在于of不允許參數(shù)是null,而ofNullable則無(wú)限制。

// 參數(shù)不能是null
Optional<Integer> optional1 = Optional.of(1);
 
// 參數(shù)可以是null
Optional<Integer> optional2 = Optional.ofNullable(null);
 
// 參數(shù)可以是非null
Optional<Integer> optional3 = Optional.ofNullable(2);

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論

汉川市| 山阳县| 崇礼县| 延吉市| 井陉县| 韶山市| 密云县| 仙桃市| 舒城县| 北川| 安仁县| 庄河市| 胶南市| 合阳县| 谢通门县| 丹江口市| 鹤岗市| 乐清市| 分宜县| 台湾省| 中超| 大厂| 南雄市| 民权县| 巩留县| 晋州市| 周至县| 东城区| 吴旗县| 澄迈县| 白河县| 深州市| 卫辉市| 普兰店市| 门源| 南溪县| 木兰县| 阳朔县| 改则县| 漠河县| 金寨县|