Lambda表达式(Lambda Expression)也称为匿名函数,它有以下主要特点:
- 匿名函数。Lambda表达式没有函数名,它是匿名的。
- 简洁。Lambda表达式较之传统的函数定义更加简洁,只包含参数列表,箭头和函数体。
- 可传参。Lambda表达式可以作为参数传递给方法或函数。
- 闭包。Lambda表达式可以访问定义它的范围内的变量,它是闭包的。
- 只能包含表达式。Lambda表达式的函数体只能包含一条表达式,而非语句块。
例如,在Java中lambda表达式的语法如下:
(参数) -> {函数体}
或者当函数体只有一条语句时:
(参数) -> 函数体
例如:
// 传统方式
new Thread(new Runnable() {
@Override
public void run() {
System.out.println("Hello");
}
}).start();
// 使用Lambda表达式
new Thread(() -> System.out.println("Hello")).start();
相比之下,Lambda表达式使得代码更加简洁与精炼。
Lambda表达式出现后,使得许多语言(Java,Python,C#等)支持简洁灵活的函数式编程。它简化和优化了这些语言的语法,带来了很高的开发效率。