AtomicInteger value1 = new AtomicInteger(0);IntStream.iterate(1, x -> 1).limit(100).parallel().forEach(y -> value1.incrementAndGet());在上面的代码中,forEach 接受一个返回值的 lambda 表达式。但是 forEach on stream 只接受不能从其接受方法返回任何值的消费者。为什么我没有收到编译错误?
1 回答
慕仙森
TA贡献1827条经验 获得超7个赞
为什么我没有收到编译错误?
因为方法返回的值在使用时会被忽略。
您也可以像IntConsumer现在的 accept 方法一样查看它:
new IntConsumer() {
@Override
public void accept(int y) {
value1.incrementAndGet();
}
});
添加回答
举报
0/150
提交
取消