zoukankan      html  css  js  c++  java
  • 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()方法中
        }
      }
  • 相关阅读:
    nodeJS入门01-http模块
    nodeJS入门-Buffer对象
    php与MySQL(php内置mysql函数)
    php与MySQL(基本操作)
    log4net
    js验证小数类型(浮点数)和整数类型
    牛腩学ASP.NET CORE做博客视频
    opencv再学习之路(八)---设定感兴趣区域(RIO)
    opencv再学习之路(四)---色彩分割得到二值图像
    opencv再学习之路(三)---形态学操作
  • 原文地址:https://www.cnblogs.com/XueTing/p/13769487.html
Copyright © 2011-2022 走看看