草庐IT

getProduction

全部标签

java - 为什么 java 收集流对每个 getter 运行两次?

我有一个包含项目的列表,其中每个项目都是一个具有我感兴趣的getter方法的对象。我想遍历整个列表以总结所有这些getter结果。当我使用java8流时,它看起来像这样:doublecurrentProduction=itemList.stream().collect(Collectors.summingDouble((e)->e.getProduction(param)));在普通的旧java中,它看起来像这样:for(Itemitem:itemList){currentProduction+=item.getProduction(param);}这两种方法产生完全相同的结果,但我的