ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
## 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; } } ```