文档章节

3.3Lambda表达式小结

R
 Refresh-LV
发布于 2017/07/11 13:49
字数 366
阅读 5
收藏 0

 Lambda表达式可以理解为一种匿名函数:它没有名称,但有参数列表、函数主体、返回 类型,可能还有一个可以抛出的异常的列表。

 Lambda表达式让你可以简洁地传递代码。

 函数式接口就是仅仅声明了一个抽象方法的接口。

 只有在接受函数式接口的地方才可以使用Lambda表达式。

 Lambda表达式允许你直接内联,为函数式接口的抽象方法提供实现,并且将整个表达式 作为函数式接口的一个实例。

 Java 8自带一些常用的函数式接口,放在java.util.function包里,包括Predicate 、Function、Supplier、Consumer和BinaryOperator,如表 3-2所述。

 为了避免装箱操作,对Predicate和Function等通用函数式接口的原始类型 特化:IntPredicate、IntToLongFunction等。 错误的 Java 代码!(函数 的写法不能 像数学里那 样。)

 环绕执行模式(即在方法所必需的代码中间,你需要执行点儿什么操作,比如资源分配 和清理)可以配合Lambda提高灵活性和可重用性。

 Lambda表达式所需要代表的类型称为目标类型。

 方法引用让你重复使用现有的方法实现并直接传递它们。

 Comparator、Predicate和Function等函数式接口都有几个可以用来结合Lambda表达 式的默认方法。

© 著作权归作者所有

R
粉丝 1
博文 23
码字总数 7973
作品 0
仙桃
私信 提问
图书推荐:Kotlin从入门到进阶实战

《Kotlin从入门到进阶实战》从Kotlin 语言的基础语法讲起,逐步深入到Kotlin进阶实战,并在最后配合项目实战案例,重点介绍了使用Kotlin+Spring Boot进行服务端开发和使用Kotlin进行Android...

程序员诗人
2018/09/14
0
0
C# Razor 小笔记和某些细节

知识小结:C# 的主要 Razor 语法规则 Razor 代码封装于 @{ ... } 中 --多行代码需要包含在@{}中 @{var greeting = "Welcome to our site!";var weekDay = DateTime.Now.DayOfWeek;var greet......

痴者工良
01/21
0
0
关东升的《从零开始学Swift》3月9日已经上架

大家一直期盼的《从零开始学Swift》于3月9日已经上架,它是关东升老师历时8个月的呕心沥血所编著,全书600多页,此本书基于Swift 2.x,通过大量案例全面介绍苹果平台的应用开发。全书共分5 部...

tony关东升
2018/06/26
0
0
面试官问:能否模拟实现JS的new操作符

前言 用过的同学都知道,需要用操作符来实例化。 那么面试官可能会问是否想过到底做了什么,怎么模拟实现呢。 附上之前写文章写过的一段话:已经有很多模拟实现操作符的文章,为什么自己还要...

轩辕Rowboat
2018/11/05
0
0
关东升的《《从零开始学Swift》即将出版

大家好: 苹果2015WWDC大会发布了Swift2.0,它较之前的版本Swift1.x有很大的变化,所以我即将出版《从零开始学Swift》《从零开始学Swift》将在《Swift开发指南》第1版的基础上添加Swift2.0的...

智捷课堂
2015/08/17
0
0

没有更多内容

加载失败,请刷新页面

加载更多

C 语言 二级指针操作文件 柔性数组使用

#include <stdio.h>#include <stdlib.h>#include <string.h>typedef struct _info* pInfo;struct _info{int line;int len;char data[0];}info;int getFil......

小张525
40分钟前
0
0
中介者模式

https://blog.csdn.net/jason0539/article/details/45216585

南桥北木
40分钟前
0
0
抽离css以及公共js

分离css 分离css:为何要把 CSS 文件分离出来,而不是直接一起打包在 JS 中。最主要的原因是我们希望更好地利用缓存。 extract-text-webpack-plugin > 1. 假设我们原本页面的静态资源都打包成...

莫西摩西
今天
2
0
Jenkins的配置从节点中默认没有Launch agent via Java Web Start,该如何配置使用

Jenkins的配置从节点中默认没有Launch agent via Java Web Start,如下图所示,而这种启动方式在Windows上是最方便的。 如何设置才能让出来呢? 1:打开"系统管理"——"Configure Global Sec...

shzwork
今天
2
0
BAT面试必问HashMap源码分析

HashMap 简介 HashMap 主要用来存放键值对,它基于哈希表的Map接口实现,是常用的Java集合之一。 JDK1.8 之前 HashMap 由 数组+链表 组成的,数组是 HashMap 的主体,链表则是主要为了解决哈...

别打我会飞
今天
18
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部