【发布时间】:2017-07-08 20:50:37
【问题描述】:
我正在尝试了解流中的 reduce 方法是如何工作的。
Stream.of(1,2,3,4,5,6,7).reduce(new ArrayList<>(),
(List<Integer> l, Integer a) -> {l.add(a);return l;},
(List<Integer> l1, List<Integer> l2) -> {
System.out.println("l1 is" + l1 + "l2 is " + l2);
l1.addAll(l2);
return l1;
}).forEach(System.out::println);
System.out.println("l1 is" + l1 + "l2 is " + l2) 行永远不会被打印出来。
我可以理解(List<Integer> l, Integer a) -> {l.add(a);return l;}中发生的事情
有人可以解释为什么不打印吗?
Java 文档说function for combining two values, which must be compatible with the accumulator function
谢谢, 阿马尔
【问题讨论】:
标签: java java-8 java-stream