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

Java8中orElse orElseGet orElseThrow的使用舉例

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

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

orElse 代碼

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

orElseGet代碼

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

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

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)文章

最新評論

麻城市| 禄劝| 沁源县| 若尔盖县| 河东区| 巨野县| 西峡县| 清新县| 习水县| 桃源县| 揭阳市| 阜南县| 铜陵市| 拉萨市| 安仁县| 呼和浩特市| 韶关市| 沾化县| 溧阳市| 新民市| 隆林| 宜州市| 习水县| 永和县| 措勤县| 张家口市| 刚察县| 德庆县| 如皋市| 施甸县| 泌阳县| 武义县| 红原县| 南丹县| 腾冲县| 应用必备| 金阳县| 浙江省| 合作市| 临高县| 苏尼特左旗|