【发布时间】:2016-11-23 02:49:51
【问题描述】:
说有一个集合需要先修改再过滤:
Collection<MyObject> collection = ...
Stream<MyObject> dummyVariable = collection.stream();
dummyVariable.forEach(i -> i.callModifyingFunc(args));
return dummyVariable.filter(i -> i.isNeeded);
因为 forEach 具有void 返回类型,所以没有dummyVariable 就无法编写代码。是否有任何解决方法可以在一个链中编写所有内容:
Collection<MyObject> collection = ...
return Stream<MyObject> dummyVariable = collection.stream().forEach(i -> i.callModifyingFunc(args)).filter(i -> i.isNeeded);
【问题讨论】:
标签: foreach java-8 java-stream