Predicate 是一个接收一个参数并返回一个 boolean 类型值的函数式接口。它用于判断输入的参数对象是否符合某个特定的规则。
1 2 3 4 5
| public static void main(String[] args) { Predicate<Integer> predicate = (n) -> n % 2 == 0; boolean result = predicate.test(8); System.out.println(result); }
|
除此之外,你还可以组合 Predicate 中提供的默认方法 or(或)、and(与)、negate(非)进行更加复杂的逻辑判断。
1 2 3 4 5
| public static void main(String[] args) { Predicate<Integer> predicate = (n) -> n % 2 == 0; boolean result = predicate.negate().test(8); System.out.println(result); }
|
or 逻辑时,先执行 predicate1 判断再执行 predicate2 判断。
1 2 3 4 5 6
| public static void main(String[] args) { Predicate<Integer> predicate1 = (n) -> n > 0; Predicate<Integer> predicate2 = (n) -> n < 5; boolean result = predicate1.or(predicate2).test(8); System.out.println(result); }
|
and 逻辑时,先执行 predicate1 判断再执行 predicate2 判断。
1 2 3 4 5 6
| public static void main(String[] args) { Predicate<Integer> predicate1 = (n) -> n > 0; Predicate<Integer> predicate2 = (n) -> n < 5; boolean result = predicate1.and(predicate2).test(8); System.out.println(result); }
|