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()方法中
        }
      }
  • 相关阅读:
    iOS开发开辟线程总结--NSThread
    iOS开发GCD的简单使用
    iOS开发本地通知
    iOS开发JOSNModel<optional>,<convertondemand>,<index>
    开发iOS百度地图大头针可以重复点击
    iOS开发跳转指定页面
    iOS开发解决 jsonModel 属性跟系统的重复
    检测是否IE浏览器
    String.prototype运用
    C#读写XML
  • 原文地址:https://www.cnblogs.com/XueTing/p/13769487.html
Copyright © 2011-2022 走看看