JAVA核探 >> lambda >> 1、lambda简介

Lambda表达式

一、Lambda表达式简介

什么是Lambda

Lambda是JAVA 8新添加的一个特性。是一个匿名函数。

为什么使用Lambda

Lambda是一种高效简介的实现。

各种接口实现方式的比较
public class Program1 {

    public static void main(String[] args) {
        /* 1、创建对象 */
        Comparator comparator = new ComparatorImpl();
        comparator.compare(1, 2);

        /* 2、匿名内部类*/
        Comparator comparator1 = new Comparator() {
            @Override
            public int compare(int a, int b) {
                return a - b;
            }
        };
        comparator1.compare(1, 2);

        /* 3、lambda */
        Comparator comparator2 = (a, b) -> a - b;
    }
}

class ComparatorImpl implements Comparator {
    @Override
    public int compare(int a, int b) {
        return a - b;
    }
}

@FunctionalInterface
interface Comparator {
    int compare(int a, int b);
}

Lambda对接口的要求

并不是所有接口都可以使用Lambda表达式来实现。要求接口定义的必须要实现的抽象方法只能是一个。

在JAVA8对接口加了一个新特性:default

@FunctionalInterface

修饰函数式接口的。接口中的抽象方法只能有一个

你可能感兴趣的:(lambda,java,后端,java,lambda,jdk)