【发布时间】:2017-09-18 11:57:15
【问题描述】:
给定一个函数Function<T, T> f 和一个Stream<T> ts 什么是创建新Stream<T> 的好方法(可读性好,性能好),它首先包含原始元素,然后是f 转换的元素。
有人可能认为这会起作用:
Stream.concat(ts, ts.map(f));
但这不起作用并导致异常:
java.lang.IllegalStateException: stream has already been operated upon or closed
注意:顺序很重要:原始元素必须以正确的顺序出现在第一位,然后是转换后的元素以匹配的顺序出现。
【问题讨论】:
标签: java java-8 java-stream concat