【发布时间】:2021-08-24 19:18:02
【问题描述】:
我有两个整数流 guestTravelWith 和guests,我将它们连接起来,但是当任何一个流为空时抛出错误。有没有一种空安全的方法来连接两个流?还是使用 if 条件是我唯一的希望?
Stream<Integer> guests = code+some_method();
Stream<Integer> guestsTravelWith = code+some_method();
Stream.concat(guestsTravelWith, guests)
【问题讨论】:
-
您使用的是哪个 Java 版本?
-
Stream.ofNullable(guestsTravelWith).orElse(Stream.empty()).flatMap(Function.identity())? -
返回 Streams 的方法返回
null而不是空流,这是一个相当严重的设计缺陷。 -
@LouisWasserman 除非您也许想要指出没有结果。在这种情况下,
Optional应该是首选。无论如何,尝试使用可以是null的Stream是一个缺陷。如果null用于表示缺席,必须立即检查并回复。
标签: java java-8 java-stream