java.util.function.Predicate
是一个功能接口,可用作lambda表达式的赋值目标。 Predicate
接口表示采用单个输入并返回布尔值的操作。
示例#1
以下示例显示如何使用lambda使用Predicate接口的test()
方法。
文件:PredicateExample1.java –
package com.yiibai.tutorial.lambda; import java.util.function.Predicate; /** * @author yiibai */ public class PredicateExample1 { public static void main(String[] args) { //Predicate String Predicate<String> predicateString = s -> { return s.equals("Hello"); }; System.out.println(predicateString.test("Hello")); System.out.println(predicateString.test("Hello World")); //Predicate integer Predicate<Integer> predicateInt = i -> { return i > 0; }; System.out.println(predicateInt.test(5)); System.out.println(predicateInt.test(-5)); } }
执行上面示例代码,得到以下结果:
true false true false
示例#2
以下示例显示如何使用Predicate
接口的默认方法(和,或者否定)。
文件:PredicateExample2.java –
package com.yiibai.tutorial.lambda; import java.util.function.Predicate; /** * @author yiibai */ public class PredicateExample2 { public static void main(String[] args) { Predicate<String> predicate=s->{ return s.equals("Hello"); }; //AND logical operation Predicate<String> predicateAnd=predicate.and(s->s.length()>4); System.out.println(predicateAnd.test("Hello")); //OR logical operation Predicate<String> predicateOr=predicate.or(s->s.length()==10); System.out.println(predicateOr.test("Hello")); //NEGATE logical operation Predicate<String> predicateNegate=predicate.negate(); System.out.println(predicateNegate.test("Hello")); } }
执行上面示例代码,得到以下结果:
true true false
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/264088.html