Java 8 谓词/断言的例子

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

(0)
上一篇 2022年6月6日
下一篇 2022年6月7日

相关推荐

发表回复

登录后才能评论