我可以添加流或其他元素,如下所示:
Stream stream = Stream.concat(stream1, Stream.concat(stream2, Stream.of(element));
我还可以添加新的东西,像这样:
Stream stream = Stream.concat(
Stream.concat(
stream1.filter(x -> x!=0), stream2)
.filter(x -> x!=1),
Stream.of(element))
.filter(x -> x!=2);
但是这很难看,因为 concat
是静态的。如果 concat
是一个实例方法,那么上面的示例将更容易阅读:
Stream stream = stream1.concat(stream2).concat(element);
还有
Stream stream = stream1
.filter(x -> x!=0)
.concat(stream2)
.filter(x -> x!=1)
.concat(element)
.filter(x -> x!=2);
我的问题是:
1) concat
为什么是静态的有什么好的原因吗? 或者有什么等价的实例方法我遗漏了?
2)无论如何,有没有更好的方法来做这件事?