黑马程序员技术交流社区

标题: 【上海校区】java Lambda表达式的使用 [打印本页]

作者: 不二晨    时间: 2018-7-10 11:03
标题: 【上海校区】java Lambda表达式的使用

如题,因为博主也是最近才接触到Lambda表达式的(PS 在这里汗颜一会)。我并不会讲解它的原理,诚然任何一件事物如果理解原理的话,使用它必将更加容易。但博主在学习的时候,大多数时候都是学会怎么用,然后在细究原理。就像你骑自行车之前,难道首先还要研究自行车的原理么?

首先Lambda表达式的最简单应用如下

Lambda表达式法

传统方法

输出结果


很简洁有没有?省略了好多代码是不是,在这里 你可以发现”,Lambda表达式和在Thread创建一个匿名类的作用是一样。我们可以这样认为Lambda表达式本身代表了一个匿名类。

这就是Lambda最大的作用,当然Lambda表达式只能创建接口interface对象。 创建类是不行的,抽象类也是不行的 ,只要是类都是不行的。

首先,我定义了一个自定义的接口,可以用来测试


使用Lambda表达式 你首先要知道的


3.Lambda表达式的规范表示格式 (parameters) ->{ statements; }。在某些时刻,你还可以简化这个格式

你可以发现后面的大括号{ }没了,这是因为后面代码如果只有一句的话,是可以省略{ } 的

我们把Lam接口定义的调用方法参数修改一下,多出了一个String类型的形参s

这时候 我们如果使用Lambda表达式,则可以这样

你又会发现,前面的()中括号也没了,这是因为当参数只有一个的时候,是可以省略()的。

当然也有你要执行很多代码的时候,那这时候可以这样

输出结果如下


当然你还会问Lambda表达式能不能返回东西呢?这是肯定能的,首先我们再把上面的Lam接口方法修改一下

让bda方法返回一个String值,这次如果我们用Lambda的话

运行的结果:


总结 Lambda表达式 就是用来创建一个匿名的接口对象,即 它本身就是一个接口的匿名实例。只不过这个接口 有一些条件限制。


【转载】原文地址:https://blog.csdn.net/a1064072510/article/details/80947286

作者: 不二晨    时间: 2018-7-10 14:44
奈斯
作者: 吴琼老师    时间: 2018-7-12 16:18





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2