这篇文章主要介绍了Java8新特性Stream短路终端操作的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
成都创新互联专业为企业提供聂拉木网站建设、聂拉木做网站、聂拉木网站设计、聂拉木网站制作等企业网站建设、网页设计与制作、聂拉木企业网站模板建站服务,十多年聂拉木做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。
传入一个谓词,返回传为boolean,如果符合条件,则直接结束流。
匹配所有 allMatch
任意匹配 anymMatch
不匹配 noneMatch
查找首个 findFirst
查找任意 findAny
匹配所有 allMatch
/匹配所有 allMatch @Test public void allMatchTest() { boolean b = list.stream() //所有的商品价格都大于40 .allMatch(sku -> sku.getSkuPrice() > 40); System.out.println(b); /** 返回值 * true */ }
任意匹配 anymMatch
//任意匹配 anymMatch @Test public void anyMatchTest() { boolean b = list.stream() //只要有一个totalNum数量为3就反回true .anyMatch(sku -> sku.getTotalNum() == 3); System.out.println(b); /** 输出的结果: * true */ }
不匹配 noneMatch
//不匹配 noneMatch @Test public void noneMatchTest() { boolean b = list.stream() //没有totalNum为2的,所以返回值为true, .noneMatch(sku -> sku.getTotalNum() == 2); System.out.println(b); /** * 没有匹配才选true */ }
查找首个 findFirst
//查找首个 findFirst @Test public void findFirstTest() { //我自己的Optional里面有介绍,,findFirst()方法,只要有第一个就返回 Optionalfirst = list.stream().findFirst(); //从Optional里面取出来值 Sku sku = first.get(); //比json格式输出结果 System.out.println(JSON.toJSONString(sku,true)); /** * { * "skuCategory":"ELECTRONICS", * "skuId":100001, * "skuName":"无人机", * "skuPrice":4999.0, * "totalNum":1, * "totalPrice":4999.0 * } */ }
查找任意 findAny
//查找任意 findAny @Test public void findAnyTest() { //从list中任意取出来一个 Optionalany = list.stream().findAny(); //从Optional里面取值 Sku sku = any.get(); //以json输出结果 System.out.println(JSON.toJSONString(sku, true)); /** * { * "skuCategory":"ELECTRONICS", * "skuId":100001, * "skuName":"无人机", * "skuPrice":4999.0, * "totalNum":1, * "totalPrice":4999.0 * } */ }
感谢你能够认真阅读完这篇文章,希望小编分享的“Java8新特性Stream短路终端操作的示例分析”这篇文章对大家有帮助,同时也希望大家多多支持创新互联,关注创新互联行业资讯频道,更多相关知识等着你来学习!