Lambda表达式有哪些特点?

Lambda表达式(Lambda Expression)也称为匿名函数,它有以下主要特点:

  1. 匿名函数。Lambda表达式没有函数名,它是匿名的。
  2. 简洁。Lambda表达式较之传统的函数定义更加简洁,只包含参数列表,箭头和函数体。
  3. 可传参。Lambda表达式可以作为参数传递给方法或函数。
  4. 闭包。Lambda表达式可以访问定义它的范围内的变量,它是闭包的。
  5. 只能包含表达式。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#等)支持简洁灵活的函数式编程。它简化和优化了这些语言的语法,带来了很高的开发效率。