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


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

     

  • 相关阅读:
    多门店座号扫码点餐先付后餐公众号小程序开源版开发
    在 Mac OS 上使用 Homebrew 打造便捷的软件安装体验:apt-get install 就是brew install:
    【开源】JAVA+Vue.js实现食品生产管理系统
    基于R语言的DICE模型实践丨农田生态系统温室气体排放模拟
    【YOLOv5/v7改进系列】改进池化层为YOLOv9的SPPELAN
    数学建模学习笔记(10):因子分析法
    期货开户应该了解的行内知识
    前端学习基础知识
    开源一个教学型分库分表示例项目 shardingsphere-jdbc-demo
    mongodb使用debezium
  • 原文地址:https://blog.csdn.net/qq_53374893/article/details/132956283