🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
## 2.4 复合方法 复合方法意味着可以把多个简单的Lambda表达式组合成复杂的表达式,例如下面的实例,通过复合方法将筛选条件设置为**奇数**且**小于1000**: ```java import java.util.ArrayList; import java.util.List; import java.util.function.Predicate; public class ComplexMethodTest { public static void main(String[] args) { List<Integer> numberList = new ArrayList<>(); Predicate<Integer> oddPredicate = i -> (i != null && i % 2 == 1); Predicate<Integer> smallNumberPredicate = i -> (i < 1000); List<Integer> oddNumberList = filter(numberList, oddPredicate.and(smallNumberPredicate)); } static <T> List<T> filter(List<T> list, Predicate<T> action) { List<T> result = new ArrayList<>(); for (T item : list) { if (action.test(item)) { result.add(item); } } return result; } } ```