Lambda表达式的浅显理解
使用Lambda表达式可以简化我们的代码
解决无法获取非final对象的问题
在有Lambda表达式之前,要新建一个线程,需要这样写:
new Thread(new Runnable(){
@Override
public void run(){
System.out.println("Thread run()");
}
}).start();
有Lambda表达式之后,则可以这样写:
new Thread(
()->System.out.println("Thread run()")
).start();
从日常应用的表面来看,Lambda表达式代替了匿名内部类。Lambda表达式相当于一个接口类型。
举例很简单,其实这里更想说的是一种函数式编程的思想。Java8引入了Lambda表达式其实是为我们打开了一个函数式编程的大门,这扇大门在别的编程语言中已经存在,但是在Java这种面向对象语言中出现,也是Java语法进化的一个重大突破。Java8中可以使用表达式来帮助我们更好的完成对象的编程。后续会详细说明Lambda表达式的语法,以及表述函数式编程的思想,相互结合,提高我们的变成能力,拓展我们的思路。