是否建議/好的方法在迭代之前檢查流是否不為空或不為空我能想到的是將stream()分配給Stream vairable并檢查empty和null有沒有 java 8 函數/特性來檢查它?
2 回答

繁星點點滴滴
TA貢獻1803條經驗 獲得超3個贊
調用stream()
非空對象永遠不應該返回null
。因此檢查流似乎null
沒有必要。
如果流為空,則什么也不會發生。那么為什么要檢查呢?
是的,JDK 中有一些方法可以幫助您檢查參數是否不存在?null
。看看吧java.util.Objects
。

翻閱古今
TA貢獻1780條經驗 獲得超5個贊
不,沒有必要。
只要您使用空 Streams 而不是 null(例如作為方法參數),一切都會正常工作。您不需要檢查 a 是否Stream
為空,就像您不需要檢查 a 是否Collection
為空一樣,如果您在代碼中使用空集合而不是 null(您應該這樣做)。
1 現在假設“原始”流來自連續源(集合、生成器)。您可以使用類似map(o -> o.getPossiblyNull())
. 在這種情況下,您可能需要使用.filter(Objects::nonNull)
從流中刪除任何空元素。
添加回答
舉報
0/150
提交
取消