栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Java 8 Lambda Stream forEach具有多个语句

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java 8 Lambda Stream forEach具有多个语句

忘记与第一个代码段相关。我根本不会用

forEach
。由于您将的元素收集
Stream
到中
List
,因此以结束
Stream
处理会更有意义
collect
。然后,您将需要
peek
设置ID。

List<Entry> updatedEntries =     entryList.stream()  .peek(e -> e.setTempId(tempId))  .collect (Collectors.toList());

对于第二个代码段,

forEach
可以执行多个表达式,就像任何lambda表达式都可以:

entryList.forEach(entry -> {  if(entry.getA() == null){    printA();  }  if(entry.getB() == null){    printB();  }  if(entry.getC() == null){    printC();  }});

但是,(请看您的评论尝试),在这种情况下您不能使用过滤器,因为

entry.getA() ==null
如果您这样做,它只会处理某些条目(例如,针对的条目)。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/407267.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号