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

Java8中orElse orElseGet orElseThrow的使用舉例

 更新時間:2025年09月16日 12:07:43   作者:chushiyunen  
這篇文章主要介紹了Java8中orElse orElseGet orElseThrow的使用舉例,本文結(jié)合實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧

這3個都是用來處理null的情況:
orElse 用的是括號內(nèi)的對象
orElseGet 用的是Supplier接口返回的對象。 supplier接口就一個get方法。
無入?yún)?,出參要和Optional的對象同類型。
orElseThrow 用的是Supplier接口返回的對象,這個對象必須要實現(xiàn)Throwable。 supplier接口就一個get方法。 無入?yún)?,出參要實現(xiàn)Throwable.

orElse 代碼

//orElse 有,就用自身值。  為null,就用orElse后面的值。
//有正品用正品,沒正品用替代品
System.out.println(Optional.ofNullable("正品").orElse("替代品"));  // orElse
System.out.println(Optional.ofNullable(null).orElse("替代品"));

orElseGet代碼

// orElseGet 它可以傳入一個supplier接口,里面可以花樣實現(xiàn)邏輯
System.out.println(Optional.ofNullable("寶馬").orElseGet(()->"走路"));  // 有寶馬就不用走路
System.out.println(Optional.ofNullable(null).orElseGet(()->"自行車"));  // 沒寶馬,可以騎自行車
System.out.println(Optional.ofNullable(null).orElseGet(()->"電動車"));  // 沒寶馬,也可以騎電動車

有人會說orElse和orElseGet沒看出有什么區(qū)別啊。
區(qū)別是orElseGet可以傳入一個接口,來定制邏輯。

orElseThrow代碼

// 有錢就沒異常
try {
    System.out.println(Optional.ofNullable("錢").orElseThrow(()->new Exception()));  // 有錢不會拋異常
} catch (Throwable throwable) {
    throwable.printStackTrace();
}
// 沒錢就會拋異常
try {
    System.out.println(Optional.ofNullable(null).orElseThrow(()->new Exception()));  // 沒錢拋異常
} catch (Throwable throwable) {
    throwable.printStackTrace();
}

到此這篇關(guān)于Java8中orElse orElseGet orElseThrow的使用舉例的文章就介紹到這了,更多相關(guān)java orElse orElseGet orElseThrow使用內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論

扎囊县| 句容市| 华蓥市| 五大连池市| 仪陇县| 宝山区| 莎车县| 兴城市| 高碑店市| 马关县| 梅河口市| 五指山市| 勐海县| 融水| 长泰县| 成都市| 独山县| 临沧市| 西盟| 河北区| 肇州县| 绥江县| 大冶市| 岳阳县| 余姚市| 广平县| 太和县| 信宜市| 温州市| 忻州市| 上栗县| 高青县| 喀喇沁旗| 石首市| 大宁县| 和林格尔县| 集贤县| 福安市| 五原县| 惠东县| 柳林县|