Java SE8 Predicate.and方法困惑

时间:2017-06-05 02:38:14

标签: java predicate

以下两个代码:

第一个:

    Predicate<Dish> p1 = t -> t.getCalories() > 100;
    Predicate<Dish> p2 = t -> t.getCalories() < 1000;
    menu.stream().filter(p1.and(p2));

第二个:

menu.stream().filter((t -> t.getCalories() > 100).and(t -> t.getCalories() < 1000));

第一个是好的并且成功编译。 但第二个导致了一个comiple错误:

The target type of this expression must be a functional interface

出了什么问题,我很困惑。

0 个答案:

没有答案