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


    新时代程序员必须要会的 :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. }

     

  • 相关阅读:
    【强化学习】day1 强化学习基础、马尔可夫决策过程、表格型方法
    民安智库(北京第三方窗口测评)开展汽车消费者焦点小组座谈会调查
    基于Spring实现策略模式
    mybatis 八股篇(1)
    janus-gateway的videoroom插件的RTP包录制功能源码详解
    Git 回退代码的两种方法对比
    数组两种初始化方法
    github访问不进去,浏览器证书不安全,访问失败,证书失效,证书颁发者为VMware,谷歌浏览器小bug
    OpenCompass 大模型评测实战——笔记
    卡方分布的期望值和方差
  • 原文地址:https://blog.csdn.net/qq_53374893/article/details/132956283