zoukankan      html  css  js  c++  java
  • Java 函数式编程

    函数式接口介绍

    Java8 新引入函数式编程方式,大大的提高了编码效率。函数式接口是指有且只有一个未实现的方法的接口,一般通过 @FunctionalInterface 这个注解来表明某个接口是一个函数式接口。函数式接口是 Java 支持函数式编程的基础。

    Consumer 接口

    Consume 是一个函数式接口,包含一个抽象方法 accept,这个方法只有输入而无输出。传统方式定义:

    Consumer c =new Consumer(){
        @override
        public void accept(Object o){
           System.out.println(o);
        }
    }
    

    针对函数式编程接口,可以这样定义:

    Consumer c = (o) -> {
        System.out.println(o);
    };  
    

    函数式编程接口都只有一个抽象方法,因此在采用这种写法时,编译器会将这段函数编译后当作该抽象方法的实现。
    当函数体中只有一个语句时,可以去掉{}进一步简化。

    Consumer c = (o) -> System.out.println(o);
    

    然而这还不是最简的.

    Consumer c = System.out::println;
    

    它表示的意思就是针对输入的参数将其调用 System.out 中的静态方法 println 进行打印。

  • 相关阅读:
    (转) [组合数学] 第一类,第二类Stirling数,Bell数
    The Heaviest Non-decreasing Subsequence Problem
    高斯枚举自由元小板子 (待测试)
    gperftools::TCMalloc
    tinyxml2
    pugixml
    std::weak_ptr
    enable_shared_from_this
    mfc字符转码
    std::multiset
  • 原文地址:https://www.cnblogs.com/feiqiangsheng/p/15174607.html
Copyright © 2011-2022 走看看