IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> java基础-lambda表达式 -> 正文阅读

[Java知识库]java基础-lambda表达式

一、java8新特性

1、java8新特性

二、lambda表达式

1、使用举例

?2、lambda表达式语法的使用1

(1)举例:(o1,o2) -> Integer.compare(o1,o2);

(2)格式:

->:lambda操作符或箭头操作符

->左边:lambda形参列表 (其实就是接口中的抽象方法的形参列表)

->右边:lambda体 (其实就是重写的抽象方法的方法体)

?(3)lambda表达式的使用:(分为6种情况去介绍)

a、无参、无返回值

b、需要一个参数,但是没有返回值

c、数据类型可以省略,因为可由编译器推断得出,称为“类型推断”?

d、lambda若只需要一个参数是,参数的小括号可以省略

e、lambda若是需要两个或者以上的参数,多条执行语句,并且可以有返回值

f、当lambda体只有一条语句时,return与大括号若有,都可以省略(return和{}都省略)

总结:

->左边: lambda形参列表的参数类型可以省略(类型推断),如果lambda参数列表只有一个参数,则()也可以省略;

->右边:lambda体应该使用一对大括号包裹;如果lambda体只有一条执行语句(可能是return语句),可以省略这一对大括号,以及return关键字

(4)lambda表达式的本质:作为函数式接口的实例

?三、函数式接口:只包含一个抽象方法的接口

?1、基本的四大接口:

?eg1:消费型接口:

eg2:

根据给定的规则,过滤结合中的字符串.此规则由Predicate(Predicate是一个函数式接口,只有一个抽象方法)的方法决定

?2、函数时接口:其他接口?

三、方法引用和构造器引用

1、方法引用的使用情况

?(1)使用情境:当要传递给lambda体的操作,已经有实现的方法了,可以使用方法引用

(2)方法引用本质上就是lambda表达式,而lambda表达式作为函数式接口的实例,所以方法引用,也是函数式接口的实例

(3)使用格式:类(或对象) :: 方法名

(4)具体分为如下的三种情况:

a、对象 :: 非静态方法

eg2:

?

?b、类 :: 静态方法

eg2:

c、类 :: 非静态方法(实例方法)

eg2:

eg3:

?(5)说明:方法引用的使用要求:要求接口中的抽象方法,他的形参列表和返回值类型与方法引用的方法的形参列表和返回值类型相同(针对于上述的a和b,c中有一些但是比较少)

?2、构造器引用和数组引用

(1)构造器引用:和方法引用类似,函数式接口的抽象方法的形参列表和构造器的形参列表一致,抽象方法的返回值类型即为构造器所属的类的类型

Employee的空参构造器:Employee()

eg1:

eg2:

eg3:

(2)数组引用 :可以把数组看作是一个特殊的类,则写法与构造器引用一致?

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2021-09-18 10:00:25  更:2021-09-18 10:00:42 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 17:11:45-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码