Predicate 类是 Java 提供的一个函数式接口,用于定义一个接受一个参数并返回一个布尔值的函数。它通常用于对集合中的元素进行过滤、筛选或判断。
Predicate 接口中包含一个抽象方法 test(Object obj),用于接收一个参数并返回一个布尔值。根据这个布尔值,可以判断该参数是否满足某个条件。
Predicate 接口还包含了一些默认方法,可以用于组合多个 Predicate 对象,例如:
- and(Predicate other):返回一个新的 Predicate,表示当前 Predicate 和另一个 Predicate 的逻辑与操作。
- or(Predicate other):返回一个新的 Predicate,表示当前 Predicate 和另一个 Predicate 的逻辑或操作。
- negate():返回一个新的 Predicate,表示当前 Predicate 的逻辑非操作。
使用 Predicate 类可以简化集合的过滤操作,例如过滤出满足某个条件的元素:
Listnumbers = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10); Predicate evenPredicate = num -> num % 2 == 0; List evenNumbers = numbers.stream() .filter(evenPredicate) .collect(Collectors.toList()); System.out.println(evenNumbers); // 输出 [2, 4, 6, 8, 10]
在上述代码中,使用 Predicate 对象 evenPredicate 过滤出了集合中的偶数元素。
总之,Predicate 类的主要用途是对集合中的元素进行条件判断,用于过滤、筛选或判断元素是否满足某个条件。