• 四大函数式接口(重点,必须掌握)


    新时代程序员必须要会的 :lambda表达式、链式编程、函数式接口、Stream流式计算

    什么是函数式接口

    1.函数型接口

    1. package com.kuang.function;
    2. import java.util.function.Function;
    3. /**
    4. * Function函数型接口 有一个输入参数,有一个输出
    5. * 只要是函数式接口,就可以用lambda表达式简化
    6. */
    7. public class Demo01 {
    8. public static void main(String[] args) {
    9. // Function function = new Function() {
    10. // @Override
    11. // public String apply(Integer i) {
    12. // return String.valueOf(i);
    13. // }
    14. // };
    15. Function function = i -> String.valueOf(i);
    16. System.out.println(function.apply(5));
    17. }
    18. }

     

    2.断言型接口

    1. package com.kuang.function;
    2. import java.util.function.Predicate;
    3. /**
    4. * Predicate断言式接口 有一个输入参数,返回boolean值
    5. * 只要是函数式接口,就可以用lambda表达式简化
    6. */
    7. public class Demo02 {
    8. public static void main(String[] args) {
    9. // Predicate predicate = new Predicate() {
    10. // @Override
    11. // public boolean test(Integer integer) {
    12. // if (integer > 5) {
    13. // return true;
    14. // }
    15. // return false;
    16. // }
    17. // };
    18. Predicate predicate = integer -> {
    19. if (integer > 5) {
    20. return true;
    21. }
    22. return false;
    23. };
    24. System.out.println(predicate.test(6));
    25. }
    26. }

     

    3.消费型接口

     

    1. package com.kuang.function;
    2. import java.util.function.Consumer;
    3. /**
    4. * Consumer消费型接口 有一个输入参数,无返回值
    5. * 只要是函数式接口,就可以用lambda表达式简化
    6. */
    7. public class Demo03 {
    8. public static void main(String[] args) {
    9. // Consumer consumer = new Consumer() {
    10. // @Override
    11. // public void accept(String s) {
    12. // System.out.println(s);
    13. // }
    14. // };
    15. Consumer consumer = s -> System.out.println(s);
    16. consumer.accept("我好帅");
    17. }
    18. }

    4.供给型接口

    1. package com.kuang.function;
    2. import java.util.function.Supplier;
    3. /**
    4. * Supplier供给型接口 无参数,有返回值
    5. * 只要是函数式接口,就可以用lambda表达式简化
    6. */
    7. public class Demo04 {
    8. public static void main(String[] args) {
    9. // Supplier supplier = new Supplier() {
    10. // @Override
    11. // public String get() {
    12. // return "good study";
    13. // }
    14. // };
    15. Supplier supplier = () -> "good study";
    16. System.out.println(supplier.get());
    17. }
    18. }

     

  • 相关阅读:
    SpringMVC-----JSR303以及拦截器
    企业运营遇瓶颈?没选对靠谱工作流引擎!
    面向5G-Advanced演进的移动性增强技术
    MMDet正常启动但不训练
    FLV 格式:为什么直播首选这个流媒体格式?丨音视频基础
    【小尘送书-第八期】《小团队管理:如何轻松带出1+1>2的团队》
    Linux查看端口号及进程信息
    计算机学院院长第一课——前辈的经验
    【牛客-SQL进阶挑战】增删改操作 (插入记录SQL110-112 更新记录SQL113-114 删除记录SQL115-117)
    Netron【.pt转.onnx模型展示】
  • 原文地址:https://blog.csdn.net/qq_53374893/article/details/132956283