en *_*ris 2 java collections lambda java-8 java-stream
我在我的控制器中有以下代码片段,从第一个列表中我得到了所有用户,然后我迭代向他们发送电子邮件.不知何故,在函数中sendEmail()我不得不返回一个对象,但我不需要返回任何东西.
List<User> users = new ArrayList<User>();
menuPriceSummaryService.findAll()
.stream()
.map (mps -> checkPreferences(mps))
.iterator()
.forEachRemaining(users::addAll);
users
.stream()
.map (o -> sendEmail(o))
.iterator();
Run Code Online (Sandbox Code Playgroud)
Era*_*ran 10
map在您的方案中不是正确的操作.forEach是的,因为它是一个终端操作(所以你之后不需要任何调用)它只消耗Stream元素而不必返回任何东西:
users.stream().forEach (o -> sendEmail(o));
Run Code Online (Sandbox Code Playgroud)
或者你也可以直接调用forEach的List,因为阿里斯建议:
users.forEach (o -> sendEmail(o));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
252 次 |
| 最近记录: |