看看下面的代码:在二元运算符中,我们有 reduce((x,y)->x+x)。为什么实际计算为 Optional[512]?我没有解释。
System.out.println((Stream.generate(()->1d).limit(10).
peek((doubleValue)->{
System.out.println("Call the first peek: "+doubleValue);
}).
reduce((x,y)->x+x)));
这是输出:为了向您澄清,我在 peek 部分显示单个 x 为 1.0。
Call the first peek: 1.0
Call the first peek: 1.0
Call the first peek: 1.0
Call the first peek: 1.0
Call the first peek: 1.0
Call the first peek: 1.0
Call the first peek: 1.0
Call the first peek: 1.0
Call the first peek: 1.0
Call the first peek: 1.0
Optional[512.0]
那么问题来了,在获得 Optional[512] 之前,什么控制 reduce 工作?
MYYA
眼眸繁星
小唯快跑啊
相关分类