JAVA 8
Lambda表达式实质是一种实现方法的简洁表达形式,在没有用Lambda表达式之前,假如我们想定义一个Runable,如下所示:public class LambdaStudy{ public static void main(String... args) { Runnable r = new Runnable() { public void run() { System.out.println('Howdy, world!'); } }; r.run(); }}
从下图中的代码可以注意到,为了利用Runable打印一行语句,我们写了近10行代码,实质上只有第15行代码在起作用,这样就导致了代码“高度问题”
通过引入Lambda表达式,我们实现上述功能只需要写如下代码:public class LambdaStudy{ public static void main(String... args) { Runnable r2 = () -> System.out.println('Howdy, world!'); r2.run(); }}可以注意到,通过Lambda表达式,我们的代码高度由10直接降低到了2,且代码更简洁,易理解。
从【步骤3】我们看到了Lambda表达式的优势,那么如何在代码中使用Lambda表达式呢,首先,我们要知道Lambda表达式的语法。
由于Lambda表达式拥有闭包的性质,所以可以在Lambda表达式中直接访问Lambda表达式外部的函数的局部变量(闭包特性之一)。下图中parmStr为lambda表达式内部变量,outStr为Lambda表达式外部变量
在使用Lambda表达式时,为了让Lambda表达式晚些执行,我们需要用函数式接口接收Lambda表达式,下图中的Consumer
如果小编所写经验帮助到了你,请帮忙给点个赞或评论支持下,您的支持是作者继续创作的动力!