Predicate<T>、BiPredicate<T, U> 和 IntPredicate 是 Java 8 中的函数式接口,用于表示不同数量参数的断言,并且它们之间存在一些区别。
1. Predicate<T>:接受一个参数并返回一个 boolean 值的断言。它定义了一个名为 test(T t) 的抽象方法,用于对给定的参数进行判断操作并返回判断结果。
- 示例:
Predicate<Integer> isEven = num -> num % 2 == 0;
System.out.println(isEven.test(5)); // 输出: false
这个接口适用于对类型为 T 的参数进行条件判断的场景。
2. BiPredicate<T, U>:接受两个参数并返回一个 boolean 值的断言。它定义了一个名为 test(T t, U u) 的抽象方法,用于对给定的两个参数进行判断操作并返回判断结果。
- 示例:
BiPredicate<Integer, Integer> isGreaterThan = (num1, num2) -> num1 > num2;
System.out.println(isGreaterThan.test(5, 3)); // 输出: true
这个接口适用于对两个输入进行条件判断的场景。
3. IntPredicate:接受一个 int 类型的参数并返回一个 boolean 值的断言。它定义了一个名为 test(int value) 的抽象方法,用于对给定的 int 类型参数进行判断操作并返回判断结果。
- 示例:
IntPredicate isPositive = num -> num > 0;
System.out.println(isPositive.test(5)); // 输出: true
这个接口适用于对 int 类型的参数进行条件判断的场景。
总结来说,Predicate<T>
是用于接受单个参数并返回布尔值的断言,BiPredicate<T, U>
是用于接受两个参数并返回布尔值的断言,而 IntPredicate
是用于接受 int 类型的参数并返回布尔值的断言。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。