常用函数式接口Predicate练习

package LambdaTest.LambdaTest05;

import java.util.function.Predicate;

/**
* FileName: PredicateTest
* Author: lps
* Date: 2022/4/7 11:54
* Sign:刘品水 Q:1944900433
* default Predicate<T> and(Predicate<? super T> other)
* 返回一个由谓词表示短路逻辑和谓词和另一个。
* static <T> Predicate<T> isEqual(Object targetRef)
* 返回测试谓词如果按照 Objects.equals(Object, Object)两个参数都是平等的。
* default Predicate<T> negate()
* 返回一个表示该谓词的逻辑否定的谓词。
* default Predicate<T> or(Predicate<? super T> other)
* 返回一个由谓词表示短路逻辑或该谓词和另一个。
* boolean test(T t)
* 在给定的参数上计算这个谓词。
*
* @author lps
*/
public class PredicateTest {
public static void main(String[] args) {
// boolean b1=checkString("lps!",s->{
// return s.length()>4;
// });
boolean b1=checkString("lps",s -> s.length()>4);
System.out.println(b1);
boolean b2=checkString("lpsjava",s -> s.length()>4);
System.out.println(b2);


}

private static boolean checkString(String s, Predicate<String> pre) {
// return pre.test(s);
//正常判断逻辑
//return !pre.test(s);
return pre.negate().test(s);
//逻辑非的操作=!
// default Predicate<T> negate() {
// return (t) -> !test(t);
// }
}
}

 

 

 

 

posted @ 2022-04-08 16:58  刘品水  阅读(32)  评论(0编辑  收藏  举报