java--Lambda
前言
Lambda就是直接将interface中的方法通过匿名类实现的一个语法糖,相比与匿名类,它的代码更简洁,但是相对的,它的可读性会降低。在简单的逻辑中我们推荐使用Lambda,但在复杂的业务当中使用Lambda可能会导致代码难以阅读。
准备一个只有一个方法的interface
public interface Lambda1 { void test1(); }
匿名类
Lambda1 l1 = new Lambda1() {
@Override
public void test1() {
System.out.println("我是匿名类实现的Test1");
}
};
l1.test1() //我是匿名类实现的Test1
lambda
Lambda1 l1 =()->{ System.out.println("我是lambda"); };
l1.test1();
两者之间的差异
1.接口中定义了几个方法,那么它的匿名类就必须将它们全部实现。而lambda语法,只能适用只有一个方法的接口。这意味着,匿名类可以实现多个方法,而lambda只能实现一个方法