下午好,
我一直在尝试将带有 List 的 .forEach 转换为 lambda 表达式。我试图将列表中每个对象的值添加到变量中。有没有办法做到这一点?我知道使用 lambda,主线程中的任何变量都超出了 lambda 的范围,但是有没有办法做到这一点?
我想要工作的代码与此代码相同:
int value = 0;
list.forEach(a -> {
value = value + a.intValue;
}
我只是想知道是否可以使用 lambda 表达式,我知道我可以使用 for 循环或 for every 循环来做到这一点。
谢谢你。
“...我只是想知道是否可以使用 lambda 表达式,我知道我可以使用 for 循环或 foreach 循环来做到这一点。...”
使用 Stream#reduce 方法。
int value = list.stream().reduce((a, b) -> a + b).get();