• 24、四大函数式接口(有函数型接口和断定型接口(都是函数式接口))


    四大函数式接口(有函数型接口和断定型接口(都是函数式接口))

     

    新时代程序员:lambda表达式,链式编程,函数式接口,Stream流式计算

    1. 函数式接口:只有一个抽象方法的接口(

    比如Runnable接口)注意看上面的注解@FunctionalInterface(函数式接口)

     

    比如foreach里面的参数Consumer也是个函数式接口

     

    看清楚参数也是一个函数式接口

     

    分析jdk的函数包去了解接口(函数式接口)

     

    这个下面就有一堆的接口了。(四大函数式接口)

    1. Consumer
    2. Function
    3. Predicate
    4. Supplier

     

    第一步:function(函数型接口(有一个输入,有一个输出)函数式接口都可以用lambda简化)。注意两个概念,我们这里函数式是函数式,函数型是函数型(型是我们自己想的)

     

    测试:(根据源码,传入一个参数,返回一个参数)

     

    Lambda表达式简化函数式接口:

     

    断定型接口(也是一个函数式接口)(Predicate):只有一个输入参数,返回值只能是一个布尔值(型是我们自己命名的,式是注解规范(函数式接口))

     

     

    Lambda表达式简化函数式接口

     

     

    1. package org.example.threadpoolexecutor;
    2. import java.util.function.Function;
    3. /**
    4.  * 四大函数式接口(函数型接口(Function))有输入和返回值
    5.  */
    6. public class TestFunction {
    7.     public static void main(String[] args) {
    8. //        Function function=new Function() {//匿名内部类
    9. //            @Override
    10. //            public String apply(String str) {
    11. //                return str;
    12. //            }
    13. //        };
    14.         Function function=(str)->{
    15.             return str;
    16.         };
    17.         System.out.println(function.apply("ssss"));
    18.     }
    19. }
    20. package org.example.threadpoolexecutor;
    21. import java.util.function.Predicate;
    22. /**
    23.  * 四大函数式接口(短定型接口(Predicate))只有一个输入参数和返回值是布尔值
    24.  */
    25. public class TestPredicate {
    26.     public static void main(String[] args) {
    27. //        Predicate predicate= new Predicate() {
    28. //            @Override
    29. //            public boolean test(String str) {
    30. //                return str.isEmpty();
    31. //            }
    32. //        };
    33.         Predicate predicate=(str)->{
    34.             return str.isEmpty();
    35.         };
    36.         System.out.println(predicate.test(""));
    37.     }
    38. }

  • 相关阅读:
    c语言求三角形的面积
    LeetCode 四数相加II 哈希
    electron基础使用
    树上启发式合并小结
    Copilot 初体验
    html5 初步了解
    box-shadow用法详解
    Python 数学建模算法与应用
    关于动态规划法
    Requests库POST请求
  • 原文地址:https://blog.csdn.net/logtcm4/article/details/127887037