lambda表达式
lambda表达式是java 8中引入的一个新的特性, Lambda允许把函数作为一个方法的参数(函数作为参数传递进方法中。使用 Lambda 表达式可以使代码变的更加简洁紧凑。
Lambda表达式(λexpression)的基本写法:
(参数)->结果
如(string s)-> s.length()
如 x->x*x
如 ()->{System.out.println(“aaa”);}
大体上相当于其他语言的“匿名函数”或“函数指针”在java中它实际上是“匿名类的一个实例”
代码示例:
//java7以前的写法,新建一个线程
Runnable dolt = new Runnable(){
Public void run(){
System.out.println("输入: ");
}
};
new Thread(dolt).start();
使用lambda表达式后:
Runnable dolt = () -> System.out.println("输入: ");
new Thread(dolt).start();
或者更为简洁:
new Thread(()->System.out.println("输入吧: ")).start();
简单来说,lambda表达式,就是为了把匿名类、匿名对象更简写
Lambda表达式是接口或者说是接口函数的简写其基本写法是参数->结果
这里,参数是()或一个参数或(多个参数)
结果是指表达式或语句或{语句}
能写成lambda的接口的条件:
由于lambda只能表示一个函数,所以
能写成lambda的接口要求包含且最多只能有一个抽象函数
它将代码也当成数据来处理