谓词复合
Predicate<Apple> notRedApple = redApple.negate();//产生现有Predicate对象redApple的非, 即所有不是红苹果的对象
Predicate<Apple> redAndHeavyApple = redApple.and(a -> a.getWeight() >150);//链接两个谓词生成另一个谓词对象
即苹果既是红色又大于150的
Predicate<Apple> redAndHeavyApple = redApple.and(a -> a.getWeight() >150).or(a -> "green".equals(a.getColor()));//要么150以上的红苹果要么是绿苹果
即a.or(b).and(c)就看做(a||b)&&c
函数复合:
比较器复合