Lambda 表达式是 Java SE 8 中一个重要的新个性。lambda 表达式容许你通过表达式来代替性能接口。lambda 表达式就和办法一样, 它提供了一个失常的参数列表和一个应用这些参数的主体(body, 能够是一个表达式或一个代码块)。
Lambda 表达式还加强了汇合库。Java SE 8 增加了 2 个对汇合数据进行批量操作的包: java.util.function 包以及 java.util.stream 包。流 (stream) 就如同迭代器 (iterator), 但附加了许多额定的性能。总的来说,lambda 表达式和 stream 是自 Java 语言增加泛型(Generics) 和注解 (annotation) 以来最大的变动。
语法格局:
(参数)->{语句块}
其中只有一个参数的化 () 能够省略
Lambda 表达式能够实现的操作:
1、实现接口的实例化或抽象类的实例化
比方咱们线程的创立:
之前都是这样创立的:
Public class My_Main
{
Public static void main(String[] args){
New Thread(new Runnable(){
Public void run(){
System.out.www.sangpi.comprint(“子线程输入”);
}
}).start();
}
}
可是应用 Lambda 表达式却能够这样写:
Public class My_Main2
{
Public static void main(String[] args){
New Thread(()->System.out.print(“子线程输入”)).start();
}
}
看起来 Lambda 表达式是不是很简洁。
再例如:
自定义一个游戏接口,接口中有一个办法
public interface AAction {
void work(String name);
}
创立类进行测试
public class My_Main {
private static void t1(AAction aAction){
aAction.work(“ 张三 ”);
}
public static void main(String[] args) {