Stream.collect 方法中的 combiner 在 java 8 中是如何工作的?
2022-09-01 11:52:17
我创建了简单的演示:
public static void main(String[] args) {
List<String> list2 = Arrays.asList("adf", "bcd", "abc", "hgr", "jyt", "edr", "biu");
String collect = list2.stream().collect(String::new, (res, elem) -> {
res=res.concat(" ").concat(elem);
// System.out.printf("res=%s, elem=%s\n", res.isEmpty(), elem);
}, (res1, res2) -> {
System.out.printf("res1=%s, res2=%s\n", res1, res2);
});
System.out.println("collect=" + collect);
}
问题是,这部分根本没有运行。BiConsumer combiner
collect
如果我只使用两个参数并且等于供应商,它就会运行。parallelStream()
res1
res2
String::new
如何使工作在方法上?combiner
collect