亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

我們是否需要檢查 java 8 中的 Stream 是否為 null 并且不進行迭代

我們是否需要檢查 java 8 中的 Stream 是否為 null 并且不進行迭代

泛舟湖上清波郎朗 2023-08-04 14:41:18
是否建議/好的方法在迭代之前檢查流是否不為空或不為空我能想到的是將stream()分配給Stream vairable并檢查empty和null有沒有 java 8 函數/特性來檢查它?
查看完整描述

2 回答

?
繁星點點滴滴

TA貢獻1803條經驗 獲得超3個贊

調用stream()非空對象永遠不應該返回null。因此檢查似乎null沒有必要。

如果流為空,則什么也不會發生。那么為什么要檢查呢?

是的,JDK 中有一些方法可以幫助您檢查參數是否不存在?null。看看吧java.util.Objects。


查看完整回答
反對 回復 2023-08-04
?
翻閱古今

TA貢獻1780條經驗 獲得超5個贊

不,沒有必要。

只要您使用空 Streams 而不是 null(例如作為方法參數),一切都會正常工作。您不需要檢查 a 是否Stream為空,就像您不需要檢查 a 是否Collection為空一樣,如果您在代碼中使用空集合而不是 null(您應該這樣做)。

1 現在假設“原始”流來自連續源(集合、生成器)。您可以使用類似map(o -> o.getPossiblyNull()). 在這種情況下,您可能需要使用.filter(Objects::nonNull)從流中刪除任何空元素。


查看完整回答
反對 回復 2023-08-04
  • 2 回答
  • 0 關注
  • 226 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號