【函数式编程Lambda表达式

Lambda表达式

什么是lambda表达式

lamda表达式是一种Java用于实现函数式接口的一种书写形式。

首先,它是一个书写形式,是一种语法规则,不是什么函数之类的东西。

书写形式

既然Lambda是一种书写形式,那应该怎么书写呢?

类似于: (参数)->{逻辑体},

具体书写如下:

image.png

可以清晰的看到,后面的Comparator是使用Lambda表达式来书写的,这是因为Comparator是一个函数式接口。

函数式接口就能写成Lambda表达式的形式。

函数式接口

上面说到函数式接口,什么是函数式接口

  • 首先它是一个接口
  • 里面只有一个抽象方法
  • 可以有默认方法和静态方法
  • 总之!!!函数式接口只能有一个抽象方法,而且被@FunctionalInterface注解: 比如Comparator。

    下面是去源码里截取的部分方法。

    @FunctionalInterface
    public interface Comparator {
    int compare(T o1, T o2);
    boolean equals(Object obj);
    default Comparator reversed() {
    return Collections.reverseOrder(this);
    }
    public static