没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
试读
31页
Java SE 8 Lambda Quick Start 中文版 -> :: 本教程介绍了Java Platform Standard Edition 8(Java SE 8)中包含的新的lambda表达式 Lambda表达式是Java SE 8中包含的一个新的重要功能。它们提供了一种清晰简洁的方式来使用表达式来表示一个方法接口。 Lambda表达式还可以改进收集库(Collection libraries),从而更容易地从集合中遍历,过滤和提取数据。 此外,新的并发功能可提高多核环境中的性能。
资源推荐
资源详情
资源评论
中
文
版
符号
目录
1 概述...........................................................................................3
目的
介绍
硬件和软件要求
2 背景...........................................................................................4
匿名内部类 !
功能接口 "# $ !
表达式语法 %
3 Lambda 表达式..........................................................................5
& %
' (
)*
&源代码 )
4 用 Lambda 表达式改善代码.....................................................13
常见查询用例 )
"+'第一次尝试 )%
&$,-,重构方法 )(
匿名类 )
表达式恰到好处 *.
/# 0 垂直问题的解决*.
&源代码 *)
5 The java.ul.funcon Package..................................................22
1-,&$**
&源代码 *!
6 Lambda 表达式和集合.............................................................25
#类添加 *%
'2循环 *(
,2" 链接和过滤器*3
-#& 变动和结果 *
#24,' *5
&源代码 .
7 总结.........................................................................................30
1 概述
目的
本教程介绍了 0 6#()中包含的新的 表达式。
介绍
表达式是 中包含的一个新的重要功能。它们提供了一种清晰简洁的方式来
使用表达式来表示一个方法接口。 表达式还可以改进收集库( #
),从而更容易地从集合中遍历,过滤和提取数据。 此外,新的并发功能可提高
多核环境中的性能。
这个 7 示例(78)提供了 中包含的 表达式的介绍。提供了匿名内部
函数的介绍,随后讨论了功能接口和新的 语法。 然后,显示 表达式之前和
之后的常用使用模式的示例。
下一节回顾一个常见的搜索用例,以及如何通过包含 表达式来改进 代码。 此
外,9# $# 中提供的一些常见的功能接口 0 和 "# 在操作中显示。
硬件和软件要求
:,$ 42 $,4;4<
= '>?=>@
183!
2 背景
匿名内部类 Anonymous Inner Class
在 中,匿名内部类提供一种方式来实现可在应用中仅出现一次的类。 例如,在标准的
42 或 "A 应用程序中,键盘和鼠标事件需要许多事件处理程序。 而不是为每个事件
编写一个单独的事件处理类,您可以写这样的东西。
(匿名内部类讲解好文:,+'BB444 2BCB,B
*.)B.)B*%B*3(!5, )
8+8+D48+?E:8+E@F
8+#?4#?@G
H7
' #0$?#@G
' ?E = E@F
I
I@F
否则,每个事件都需要一个实现 # 的单独的类。 通过在需要的地方创建类,代
码更容易阅读。 代码不优雅,因为只需要定义一个方法就需要相当多的代码。
功能接口 Functional Interfaces
定义 # 接口的代码看起来像这样:
' $#CG
' #0$?#@F
I
# 示例是一个只有一个方法的接口。 在 ,遵循此模式的接口称为 “功
能接口”。
Note::,'$interfaceJ4' 42 -,'?-@
使用具有匿名内部类的功能接口是 中的常见模式。 除了 类之外,类似于
& 和 ' 之类的接口。 因此,功能接口被用于与 表达式一起使用。
Lambda 表达式语法
表达式通过将多行代码转换为单个语句来解决匿名内部类的庞大性。 这个简单的
水平解决方案解决了由内部类呈现的“垂直问题”。
表达式由三部分组成:
参数列表 箭头(4:) 体(8)
?CJ@ CK
该主体可以是一个单一的表达或一个语句块。 在表达式中,主体被简单地评估并返回。
在块形式中,主体被评估为方法体,返回语句将控制权返回给匿名方法的调用者。
和 # 关键字在顶层是非法的,但在循环中允许。 如果主体产生结果,则每个控制路
径都必须返回某些东西或抛出异常。
看看这些例子:
?CJ@CK
?@!*
?2@G' ?@FI
所述第一表达需要两个整数参数,命名为 C 和 ,并使用表达形式返回 CK。 第二个表达
式没有任何参数,并使用表达式表单返回一个整数 !*第三个表达式采用一个字符串,并使
用块形式将字符串打印到控制台,并且不返回任何内容。
随着语法基础知识的覆盖,让我们来看一些例子。
3 Lambda 表达式
下面是使用先前覆盖实例的一些常见用例。
Runnable Lambda
以下是使用 编写 & 的方法。
' & :G
' #?2LM2@G
' ?EDDD& :DDDE@F
BB&
& )D4& ?@G
剩余30页未读,继续阅读
资源评论
Mouse_brick_home
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功