有没有一种好的方法可以给现有的 Stream
增加一个新值?我能想到的就是这样的:
public <T> Stream<T> addToStream(Stream<T> stream, T elem ) {
List<T> result = stream.collect(Collectors.toList());
result.add(elem);
return result.stream();
}
但我正在寻找一些更简洁的东西,我可以使用在 lambda 表达式没有冗长。
当我试图实施 PECS原则时,出现了另一个问题:
public <T> Stream<? super T> addToStream(Stream<? super T> stream, T elem ) {
List<? super T> result = stream.collect(Collectors.toList()); //error
result.add(elem);
return result.stream();
}
通配符似乎无法与 Stream.collect
工作,我想知道为什么。预先感谢。