※ Lambda表达式 λ
-
Lambda表达式是一种特殊的表达语法,能够把一段代码像数据一样作为参数传递。> Lambda详解
-
能够避免内部类定义过多;
-
简化程序定义,只留下核心的逻辑,但会降低可读性;
语法:
(params) -> expression[表达式]
(params) -> statement[语句]
(params) -> {statements}
函数式接口的定义:
任何接口,如果只包含唯一一个抽象方法,那么它就是一个函数式接口;
public interface Runnable{
public abstract void run();
}
对于函数式接口,可以通过Lambda表达式来创建该接口的对象
常规定义:
也可以使用 静态内部类(在类里面定义) :
还可以 局部内部类 (定义在方法里)和 匿名内部类(没有类名):
终极大招: Lambda简化
继续深入理解 Lambda 表达式:
简化:
前提是接口为函数式接口;
多个参数也可以去掉参数类型;
Lambda表达式只有在一行代码的情况下才能简化没有花括号;
相当于: