Java 8 – 使用BiPredicate进行过滤

前端之家收集整理的这篇文章主要介绍了Java 8 – 使用BiPredicate进行过滤前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个整数流,我想找到两个数字,其总和等于另一个数字.所以我想出了以下解决方案:
BiPredicate<Integer,Integer> p = (price1,price2) -> price1.intValue() + price2.intValue() == moneyQty;
flavoursPrices.filter(p);

但是过滤方法没有收到BiPredicate.为什么不?有什么替代方案?

解决方法

您可以通过 StreamEx library在何处实施解决方案:
StreamEx.ofPairs(prices,(p1,p2) -> p1 + p2 == 5 ? StreamEx.of(p1,p2) : StreamEx.empty())
            .flatMap(Function.identity())
            .forEach(price -> System.out.println(price));

您可能还想创建自己的类来封装对.

原文链接:https://www.f2er.com/java/127940.html

猜你在找的Java相关文章