java8的Stream流接口的allMatch()好用之处,赞!!

我先把这次演示的代码所涉及的类发出来,如下:

一个是实体StudentDTO

java8的Stream流接口的allMatch()好用之处,赞!!_第1张图片

一个是main方法:

java8的Stream流接口的allMatch()好用之处,赞!!_第2张图片

需求是:

我需要判断studentDTOS集合中的每一个studentgDTO的enabled是不是都是true,如果都是true,才执行下一个逻辑就是添加到学生数据表中。如果只要满足有一个是false的,那么就不执行任何操作。

我的想法思路很简单,就是一个for循环,然后只要判断是false的直接break出去,然后在break出去之前,赋值给一个变量flag。

java8的Stream流接口的allMatch()好用之处,赞!!_第3张图片

那么这里我想给大家提供一个java8新特性中的Stream流接口,里面的一个方法叫做:

这个方法代表的意思就是如果流中所有的元素都满足断言Predicate,就返回true,那么刚好用在我们这个场景:

java8的Stream流接口的allMatch()好用之处,赞!!_第4张图片

代码是不是优雅简洁了很多。其实Stream中也有好多api,比如还有一个和allMatch()相似的,叫做anyMatch(),它的意思代表流中只要有任意一个元素满足断言Predicate,那么就会返回true。还有其他大家都可以自己看看。

总结:

java8新特性的Stream流接口的allMatch()方法的好用之处!

最后:

如果大家觉得这篇文章对你们有所帮助的话,麻烦给个免费的赞赞,谢谢,也祝各位码农在IT道路上高歌猛进!

你可能感兴趣的:(java)