为现有流添加新价值
有没有一个好方法可以为现有值添加新价值?我能想象到的就是这样的事情: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