什么是Lambda 表达式?
Lambda 表达式(lambda expression)是一个匿名函数,Lambda表达式基于数学中的λ演算得名,直接对应于其中的lambda抽象(lambda abstraction),是一个匿名函数,即没有函数名的函数。Lambda表达式可以表示闭包(注意和数学传统意义上的不同)。
注意:
Java 8的一个大亮点是引入Lambda表达式,使用它设计的代码会更加简洁。当开发者在编写Lambda表达式时,也会随之被编译成一个函数式接口。下面这个例子就是使用Lambda语法来代替匿名的内部类,代码不仅简洁,而且还可读。
下面是Lambda 表达式代码推到演示:
//推导Lambda
public class demo04 {
//3.静态内部类(内部静态)加上static就行
static class Like2 implements ILike {
@Override
public void lambda() {
System.out.println("I Like Java2");
}
}
//主方法
public static void main(String[] args) {
ILike like = new Like();
like.lambda();
like = new Like2();
like.lambda();
//4.局部内部类 在main方法里面
class Like3 implements ILike {
@Override
public void lambda() {
System.out.println("I Like Java3");
}
}
like = new Like3();
like.lambda();
//5.匿名内部类
like = new Like() {
@Override
public void lambda() {
System.out.println("I Like Java4");
}
};
like.lambda();
//6.用lambda简化
like = () -> {
System.out.println("I Like Java5");
};
like.lambda();
}
}
//定义一个函数式接口
interface ILike {
void lambda();
}
//实现类(外部)
class Like implements ILike {
@Override
public void lambda() {
System.out.println("I Like Java");
}
}
输出结果:
I Like Java
I Like Java2
I Like Java3
I Like Java4
I Like Java5