Java学习笔记(2)使用java.util.function包

2019-03-28  本文已影响0人  浩神

上节提到Lambda是实例化单抽象方法接口(函数式接口)的语法糖。

那么我们在使用Lambda的时候,第一步是否需要先去构建一些接口呢? 如我们想写一个打印的Lambda, 我们必须先构建一个接口:

// 想用Lambda? 先定义一个接口吧
interface Printable {
    String print();
}

public class Example {
    public static void main(String args[]) {
        Printable printer1 = () -> "Print something";
        System.out.println(printer1.print());
    }
}

使用Lambda先定义接口?

Java8给我们定义了一些函数式接口,这些接口在 java.util.function包里面,主要分成下面四种:

上面我们提到的Printable接口,就可以用Suplier接口定义:

   public static void main(String args[]) {
        Supplier printer2 = () -> "Print something";
        System.out.println(printer2.get());
    }

其实,function包最多的还是用在stream和数组、list等操作。如:

上一篇下一篇

猜你喜欢

热点阅读