- 0
- 0
- 约3.62千字
- 约 76页
- 2026-02-07 发布于陕西
- 举报
Java新特征:Lambda表达式;Lambda表达式介绍
Lambda表达式语法及示例;;Lambda表达式也称为闭包,是Java8发布的新特性。
Lambda允许把函数作为一个方法的参数(函数作为参数传递进方法中)
;掌握JDK8新特征(比如Lambda表达式)编程是Java开发工程师岗位技能要求
;JDK8新特征是Java1+x考证的内容
;以Comparator为例,调用Arrays.sort()时,可以传入一个Comparator实例,以匿名类方式编写如下
;上述写法非常繁琐,从Java8开始,我们可以用Lambda表达式替换单方法接口
参数是(o1,o2),参数类型可以省略,因为编译器可以自动推断出Integer类型
-{...}表示方法体,所有代码写在方法体内部
Lambda表达式没有Class定义,写法非常简洁
;如果只有一行returnxxx的代码,还可以更简单的写法
返回值的类型也是由编译器自动推断的,这里推断出的返回值是int;;Lambda表达式的语法格式如下:
Java8中引入了一个新的操作符-该操作符称为箭头操作符或Lambda操作符
箭头操作符将Lambda表达式拆分成两部分:
左侧Lambda表达式的参数列表
右侧Lambda表达式中所需执行的功能即Lambda体
;Lambda表达式的语法格式有如下特征:
;1.无参数,无返回值
2.有一个参数,并且无返回值
3.只有一个参数,小括号可以省略不写
;4.有两个以上的参数,有返回值,并且Lambda体中有多条语句
5.若Lambda体中只有一条语句,return和大括号都可以省略不写
Lambda表达式的参数列表的数据类型可以省略不写,因为JVM编译器通过上下文推断出,数据类型,即“类型推断”
;1、Lambda表达式介绍;
2、Lambda表达式语法;
3、Lambda表达式使用。;Java新特征:函数式接口;函数式接口介绍;
Java核心函数式接口;;函数式接口(FunctionalInterface)就是一个有且仅有一个抽象方法,但是可以有多个非抽象方法的接口
可以使用注解@FunctionalInterface修饰,检查是否是函数式接口
;Lambda表达式就是一个函数式接口的实例
只要一个对象是函数式接口的实例,那么该对象就可以用Lambda表达式来表示
;;1.Consumer消费者,消费型接口,accept(T)传递参数但是无返回值
2.Supplier供应商,供给型接口,get()不需要传参,但是有返回值;3.Function函数,函数型接口,apply(T),对传递的参数进行改造
4.Predicate断言、断定,断定型接口,test(T)断定传递的参数是否满足约束;1.类中定义一个函数,函数第一个参数为Integer类型List集合对象,函数第二参数为Predicate断定型接口对象;函数对List集合的每个元素进行遍历,对每个元素进行判断,判断结果为true,则输出元素
;2.创建一个ArrayList集合对象,并进行初始化;调用自定义的print方法输出所有元素,这个print方法第二参数为Lambda表达式,对任意一个整数n返回true;
3.调用自定义的print方法输出所有偶数,这个print方法第二参数为Lambda表达式,对任意一个偶数整数n返回true,否则返回false
;1、函数式接口定义;
2、函数式接口与Lambda表达式关系;
3、Java核心函数式接口使用。;Java新特征:方法引用;方法引用介绍;
方法引用的使用;;方法引用通过方法的名字来指向一个方法
方法引用可以使语言的构造更紧凑简洁,减少冗余代码
方法引用可以看做是Lambda表达式深层次的表达
方法引用使用一对冒号::
;方法引用与Lambda表达式
;;1.定义函数式接口,将字符串转换成Integer类型
2.通过静态方法引用及Lambda表达式使用函数式接口;1.定义函数式接口,参数是字符串,返回值是Boolean类型
2.通过实例方法引用及Lambda表达式使用函数式接口;1.定义函数式接口,判断字符串是否为空
2.通过类方法引用及Lambda表达式使用函数式接口;1.定义函数式接口,把字符串转为Integer对象
2.通过构造方法引用及Lambda表达式使用函数式接口;1、方法引用概念;
2、方法引用与Lambda表达式关系;
3、方法引用的使用。;Java新特征:Stream流介绍;Stream流介绍;
Stream操作;;Java8API添加了一个新的抽象称为流Stream,以一种声明的方式处理数据
Stream使用一种类似用SQL
您可能关注的文档
- ItineraryPlanning旅游英语68课件讲解.pptx
- IV值与WOE编码02课件讲解.pptx
- JAVA程序基本结构李美霖二JAVA编程基础任务三JAVA的数据类型物联网软件开发基础12课件讲解.pptx
- Java泛型编程泛型介绍09课件讲解.pptx
- Java核心类String类与字符编码63课件讲解.pptx
- Kafka数据流管理Kafka的基本原理与架构上32课件讲解.pptx
- Kafka数据流管理Kafka的基本原理与架构下44课件讲解.pptx
- Kafka数据流管理Kafka在大数据架构中的应用场景49课件讲解.pptx
- GB/T 4937.37-2025半导体器件 机械和气候试验方法 第37部分:采用加速度计的板级跌落试验方法.pdf
- 中国国家标准 GB/T 46887-2025数字化供应链 体系架构.pdf
- 中国国家标准 GB/Z 37551.300-2026海洋能 波浪能、潮流能及其他水流能转换装置 第300部分:河流能转换装置发电性能评估.pdf
- GB/T 44937.3-2025集成电路 电磁发射测量 第3部分:辐射发射测量 表面扫描法.pdf
- 中国国家标准 GB/T 44937.3-2025集成电路 电磁发射测量 第3部分:辐射发射测量 表面扫描法.pdf
- 《GB/T 44937.3-2025集成电路 电磁发射测量 第3部分:辐射发射测量 表面扫描法》.pdf
- 中国国家标准 GB/T 44937.1-2025集成电路 电磁发射测量 第1部分:通用条件和定义.pdf
- GB/T 44937.1-2025集成电路 电磁发射测量 第1部分:通用条件和定义.pdf
- 《GB/T 44937.1-2025集成电路 电磁发射测量 第1部分:通用条件和定义》.pdf
- 中国国家标准 GB/T 4937.37-2025半导体器件 机械和气候试验方法 第37部分:采用加速度计的板级跌落试验方法.pdf
- 《GB/T 4937.10-2025半导体器件 机械和气候试验方法 第10部分:机械冲击 器件和组件》.pdf
- 中国国家标准 GB/T 44937.2-2025集成电路 电磁发射测量 第2部分:辐射发射测量TEM小室和宽带TEM小室法.pdf
原创力文档

文档评论(0)