java之lambda表达式

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的接口要求包含且最多只能有一个抽象函数

它将代码也当成数据来处理

猜你喜欢

转载自blog.csdn.net/qq_38180223/article/details/81081987