package com.inmind.functional_interface02; import java.util.function.Predicate; /* 12.常用的函数式接口_Predicate Interface Predicate boolean test(T t) 用来判断或者筛选数据 Predicate函数式接口的作用:用来进行数据筛选,判断指定的数据是否符合业务 什么时候要使用Predicat呢?? 当我们要定义一个有一个参数,并且返回值类型为boolean的函数式接口时,直接使用Predicate 需求:使用Predicate接口判断指定的字符串长度是否>3 ,(包含java) */ public class Demo08 { public static void main(String[] args) { /*boolean result = method(new Predicate() { @Override public boolean test(String s) { *//*if (s.length() > 3) { return true; } else { return false; } *//* return s.length() > 3; } }, "woaijava");*/ //--------------------使用函数式编程思想优化代码,重点关注做什么,而不是怎么做--------------------- // boolean result = method((String s)->{return s.length()>3;},"woaijava"); boolean result = method(s-> s.length()>3,"woaijava"); boolean result1 = method((String s)->{return s.contains("java");},"woaijaa"); System.out.println("是否满足长度大于3条件:"+result); System.out.println("是否满足包含java:"+result1); } //定义出一个返回值为boolean,参数是Predicate接口,String的数据的方法 public static boolean method(Predicate predicate, String s) { boolean result = predicate.test(s); return result; } }