1. 简介
java8开始引入函数式编程,该接口用来定义逻辑判断的函数,类似于单元测试的Assert。通过实现Predicate来定义测试的标准,返回是否测试通过,核心方法就是test,传入待测试的值,返回测试结果(boolean类型)。该接口默认实现了组合的测试方式,支持【且/and】、【或/or】、【非/negate】的组合判断。
2. 方法说明
2.1. test
测试方法,也是该接口的核心方法,根据测试的规则,判断输入的参数是否测试通过,示例如下:
Predicate<Integer> predicate = new Predicate<Integer>() {
@Override
public boolean test(Integer i) {
return i > 10;
}
};
//Lambda方式定义:
Predicate<Integer> predicate = i -> i > 10;
执行该测试只需要test方法即可,如:boolean result = predicate.test(2);
2.2. and、or和negate
这三个方法分别表示【且】、【或】和【非】,这些表达式支持组合使用,组成复杂的表达式,综合示例如下:
//定义表达式:(i > 10) && (i