Optional處理null對(duì)象

Optional 簡(jiǎn)介

optional 是一個(gè)容器對(duì)象,可以存儲(chǔ)對(duì)象、字符串、null等值。 提供了很多方法幫助我們將java中的對(duì)象等一些值存入其中,而且無(wú)需做顯式的空值校驗(yàn),用盡量少的代碼完成復(fù)雜的流程,減少拋出空指針異常,減少null的判斷,提高代碼可讀性等

提供了如下方法:

of()?方法,可以將值存入 Optional 容器中,如果存入的值是 null 則拋異常。

ofNullable()?方法,可以將值存入 Optional 容器中,即使值是 null 也不會(huì)拋異常。

get()?方法,可以獲取容器中的值,如果值為 null 則拋出異常。

getElse()?方法,可以獲取容器中的值,如果值為 null 則返回設(shè)置的默認(rèn)值。

isPresent()?方法,該方法可以判斷存入的值是否為空。

等等,更多方法可參考:

Oracle JDK API 參考文檔:https://docs.oracle.com/javase/8/docs/api/java/util/Optional.html

菜鳥(niǎo)教程-Java 8 Optional 類(lèi):https://www.runoob.com/java/java8-optional-class.html

圖解optional的存取過(guò)程

常用方法:

long tagBits = Optional.ofNullable(this.tagBits).orElse(0L);

public boolean isDelisted(){

? ? return Optional.ofNullable(tagBits)

? ? ? ? ? ? .map(tagBits ->BitUtils.isTrue(tagBits, AssetTagConstants.DELISTED))

? ? ? ? ? ? .orElse(false);

}

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

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

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