1.Predicate 接口说明
核心方法
boolean test(T t)
: 数据验证,返回布尔类型的值
* 说明 :
* 1.接口名称 : Predicate
* 2.方法
* boolean test(T t) : 传入参数t,返回一个布尔值
* default Predicate<T> and(Predicate<? super T> other) : 与操作
* default Predicate<T> or(Predicate<? super T> other) : 或操作
* default Predicate<T> negate() :取反操作
* static <T> Predicate<T> isEqual(Object targetRef) :静态方法,比较两个对象是否一致
*
* 3.应用场景 :
* 当你需要对某些数据进行 逻辑判断是,可以直接使用这个接口
2.使用案例
2.1 案例代码
package com.northcastle.G_functionalInterface;
/**
* author : northcastle
* createTime:2022/2/19
*/
import java.util.function.Predicate;
public class PredicateTest {
public static void main(String[] args) {
//1.test方法
boolean res = useTest(strParam -> strParam.length() > 5,"Hello Predicate");
System.out.println("判断结果是 : "+res);
System.out.println();
//2.与操作 : 字符串长度>5 且 以Hello开头 且 以Predicate结尾
boolean resAnd = useAnd(strParam -> strParam.length() > 5,
strParam -> strParam.startsWith("Hello"),
strParam -> strParam.endsWith("Predicate"),"Hello Predicate");
System.out.println("and 判断结果是 : "+resAnd);
System.out.println();
//3.或操作 字符串长度>5 或 以Hello开头 或 以Predicate结尾
boolean resOr = useOr(strParam -> strParam.length() > 5,
strParam -> strParam.startsWith("Hello"),
strParam -> strParam.endsWith("Predicate"),"Hello Java");
System.out.println("or 判断结果是 : "+resOr);
System.out.println();
//4.取反操作
boolean resNegate = useNegate(strParam -> strParam.length() > 500,"Hello Predicate");
System.out.println("negate 判断结果是 : "+resNegate);
System.out.println();
//5.比较两个对象是否一致
boolean isEqual = Predicate.isEqual(new String("大家好")).test(new String("大家好"));
System.out.println("isEqual : "+isEqual);
}
//1.基本的test方法 : 判断参数字符串的长度是否大于5
public static boolean useTest(Predicate<String> predicate,String str){
boolean res = predicate.test(str);
return res;
}
//2.与操作
public static boolean useAnd(Predicate<String> p1,Predicate<String> p2,Predicate<String> p3,String str){
boolean res = p1.and(p2).and(p3).test(str);
return res;
}
//3.或操作
public static boolean useOr(Predicate<String> p1,Predicate<String> p2,Predicate<String> p3,String str){
boolean res = p1.or(p2).or(p3).test(str);
return res;
}
//4.取反操作
public static boolean useNegate(Predicate<String> predicate,String str){
boolean res = predicate.negate().test(str);
return res;
}
}
2.2 运行结果
3.完成
Congratulations!
You are one step closer to success!