Lambda 表达式是 JDK8 的一个新特性,也被称为闭包,Lambda表达式允许把函数作为一个方法的参数,即行为参数化,函数作为参数传递进方法中。
Lambda表达式可以取代大部分的匿名内部类,写出更优雅的 Java 代码,尤其在集合的遍历和其他集合操作中,可以极大地优化代码结构。
Java 8 引入的 Lambda表达式的主要作用就是简化代码,写出更优雅的代码。
怎么一个简化优雅呢,举一Lambda语法创建线程和匿名内部类创建线程的例子,就非常清楚了。
// JDK7匿名内部类写法new Thread(new Runnable() {//接口名 @Override public void run() {//方法名 System.out.println("mikechen"); } });
// JDK8 Lambda来创建线程new Thread(() -> System.out.println("mikechen"));
上述代码跟匿名内部类的作用是一样的,但比匿名内部类更进一步,这里连接口名和函数名都一同省掉了,Lambda表达式可以取代匿名内部类,写出更优雅的代码。
lambda 表达式的语法格式如下:
Lambda体只有一条语句:
示例: