diff --git a/javaSE-day07/src/com/inmind/functional_interface02/Demo08.java b/javaSE-day07/src/com/inmind/functional_interface02/Demo08.java new file mode 100644 index 0000000..e8db050 --- /dev/null +++ b/javaSE-day07/src/com/inmind/functional_interface02/Demo08.java @@ -0,0 +1,45 @@ +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; + } +}