• JDK系列2:函数式编程案例


    一、简介:

    函数式编程是种编程方式,它将电脑运算视为函数的计算。函数编程语言最重要的基础是λ演算(lambda calculus),而且λ演算的函数可以接受函数当作输入(参数)和输出(返回值)。其中,函数式接口是只包含一个方法的接口。

     

    二、案例:

    编写无参的函数式接口:

    1、自定义一个函数式接口(无参的)

    @FunctionalInterface
    public interface CustomInterface {
        void print();
    }

    2、编写业务类

    public class CustomService{
        
        @Test
        public void test(){
            // 编写业务逻辑,并将业务逻辑作为参数传递给print方法
            print(()->{        //由于CustomInterface的print()接口是无参的所以写个括号就行
                System.out.println("----------");
            });
        }
        
        private void print(CustomInterface c){
            c.print();    // 这里可以这样理解,把接收到的业务逻辑嵌套进print()方法中
        }
    }

    编写有参的函数式接口:

    1、自定义一个函数式接口(有参的)

    @FunctionalInterface
    public interface CustomInterface {
        void print(List<String> list);
    }

    2、编写业务类

    public class CustomService{
        @Test
        public void test() { 
            // 编写业务逻辑:遍历list并输出。将业务逻辑作为参数传递给print方法
            // 由于CustomInterface的print()接口是有参的,所以要对应起来
            print(list -> list.forEach(System.out::println));
        }
        
        private void study(CustomInterface c) {
            List<String> list = Arrays.asList("a","b","c");
            c.print(list);    // 这里可以这样理解,把接收到的业务逻辑嵌套进print()方法中
        }
      }
  • 相关阅读:
    java线程读取文件,可以同时读写 202006031002
    JS,JQuery bug202005282020
    js,jquery缩小加载的图片202005131907
    spring boot/spring cloud + mybatis + mysql bug 20200513
    html2020042901,table元素之间的间距
    ie8-ie11浏览器bug2020042801
    css的bug2020042801
    xml读取解析bug20200423
    Poi读取word(doc)文档的文本或图片
    NOI2020专题
  • 原文地址:https://www.cnblogs.com/XueTing/p/13769487.html
Copyright © 2020-2023  润新知