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