小樱知识 > 生活常识lambda怎么读(explicit发音)

lambda怎么读(explicit发音)

提问时间:2022-08-05 02:10:09来源:小樱知识网


我们知道给java变量赋值

全方位理解Lambda 表达式( 内附文档 )干货太多 建议珍藏

但是如果你想给一个Java变量分配一个代码块,你怎么做呢?

例如,将右边的代码分配给左边名为aBlockOfCode的变量:

全方位理解Lambda 表达式( 内附文档 )干货太多 建议珍藏

这在Java 8之前是不可能的。Java 8出现后,可以通过使用Lambda特性来完成。

全方位理解Lambda 表达式( 内附文档 )干货太多 建议珍藏

当然,这不是最简单的写作方式。为了使代码更加简洁,我们可以执行以下操作来删除无用的语句。

全方位理解Lambda 表达式( 内附文档 )干货太多 建议珍藏

这样,我们成功地将一个代码块优雅地分配给了一个变量。并且这个代码块,或者这个分配给变量的函数,是一个Lambda表达式

但是这里还是有一个问题,那就是变量aBlockOfCode的类型应该是什么?

在Java 8中,所有的Lambda类型都是一个接口,Lambda表达式本身,也就是代码块,需要是这个接口的实现。这是理解Lambda的一个关键点。简而言之,Lambda表达式本身就是一个接口的实现。这可能还是有点混乱。让我们继续举例。

让我们向aBlockOfCode添加一个类型:

全方位理解Lambda 表达式( 内附文档 )干货太多 建议珍藏

这种只有一个接口函数要实现的接口类型称为“功能接口”。为了防止以后的人在这个接口中添加接口函数,导致多个接口函数被实现,变成“非功能接口”,我们可以添加一个声明@FunctionalInterface,这样别人就不能在里面添加新的接口函数了:

全方位理解Lambda 表达式( 内附文档 )干货太多 建议珍藏

这样,我们得到了一个完整的Lambda表达式声明:

全方位理解Lambda 表达式( 内附文档 )干货太多 建议珍藏

λ表达式的作用是什么?

最直观的功能就是让代码非常简洁。

我们可以将Lambda表达式与相同接口的传统Java实现进行比较:

全方位理解Lambda 表达式( 内附文档 )干货太多 建议珍藏

这两种写作方法本质上是一样的。但是很明显,用Java 8写的东西更优雅简洁。而且,由于Lambda可以直接赋给一个变量,所以我们可以直接将Lambda作为参数传递给函数,而传统的Java必须对接口实现有明确的定义,并且只能进行初始化:

全方位理解Lambda 表达式( 内附文档 )干货太多 建议珍藏

在某些情况下,这个接口实现只需要使用一次。传统的Java 7要求您定义一个污染环境的接口来实现MyInterfaceImpl。相对来说,Java 8的Lambda干净多了。

Lambda结合函数接口lib、foreach、stream()、方法引用等新特性可以让代码更加简洁!

示例:

假设人员和列表的定义

以上内容就是为大家推荐的lambda怎么读(explicit发音)最佳回答,如果还想搜索其他问题,请收藏本网站或点击搜索更多问题

内容来源于网络仅供参考
二维码

扫一扫关注我们

版权声明:所有来源标注为小樱知识网www.xiaoyin02.com的内容版权均为本站所有,若您需要引用、转载,只需要注明来源及原文链接即可。

本文标题:lambda怎么读(explicit发音)

本文地址:https://www.xiaoyin02.com/shcs/595213.html

相关文章