今日代碼 PK | 使用 Optional 判空
對(duì)于 Java 開發(fā)來說,判空可以說是一種素養(yǎng),很多 bug 都是由空指針引起的。
為了避免空指針異常,我們通常會(huì)在使用對(duì)象前進(jìn)行判空,
如果某個(gè)必要的對(duì)象為空,可以拋出相應(yīng)的異常。
示例代碼如下:
Item item = itemService.lambdaQuery()
.eq(Item::getUserId, userId)
.eq(Item::getName, itemName)
.one();
if (item == null) {
throw new RuntimeException();
}
當(dāng)然還有另外一種使用 Optional的方式,更加的簡(jiǎn)潔,但是有一點(diǎn)的學(xué)習(xí)和熟悉成本,
示例代碼如下:
Item item = Optional.ofNullable(itemService.lambdaQuery()
.eq(Item::getUserId, userId)
.eq(Item::getName, itemName)
.one())
.orElseThrow(RuntimeException::new);
大家更喜歡哪種呢?歡迎投票并在評(píng)論區(qū)留下自己的看法。
完整代碼片段來源于代碼小抄,歡迎點(diǎn)擊進(jìn)入小程序閱讀!
在線訪問:https://www.codecopy.cn/post/iklcx9
更多優(yōu)質(zhì)代碼歡迎進(jìn)入小程序查看!
往期推薦
評(píng)論
圖片
表情
