其他分享
首页 > 其他分享> > 中stream的.findAny().orElse (null) 是什么意思?

中stream的.findAny().orElse (null) 是什么意思?

作者:互联网

 

 

List<User> userList = new ArrayList();

User user1 = userList.stream().filter(user -> "zhangsan".equals(user.getUserName())).findAny().orElse(null);

1、filter为过滤,user代表userList中的一个User;
2、userList.stream().filter(user -> “zhangsan”.equals(user.getUserName()))表示过滤出userList中名字为zhangsan的user;
3、.findAny()表示将其中任意一个返回;【注意:在Java 8 Stream中, findFirst()返回Stream中的第一个元素,而findAny()返回Stream中的任何元素。】
4、.orElse(null)表示如果一个都没找到返回null。【orElse()中可以塞默认值。如果找不到就会返回orElse中你自己设置的默认值。】
以上为Java8新语法的内容,推荐一本书《Java8实战》建议学习,可有效提高代码效率。

标签:stream,findAny,userList,user,null,orElse
来源: https://www.cnblogs.com/xiaoliu66007/p/14110624.html