中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實戰》建議學習,可有效提高代碼效率。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM