一.接口中默认方法修饰为普通方法
二.lambda表达式
1.为什么用
简化匿名内部类的使用
2.怎么用
三.函数式接口
四.方法引用
方法引入规则:方法的引用就是对lambda表达式中引用的方法,所以引用的方法的参数列表和返回值类型必须要和函数接口的参数列表,返回值类型保持一致
1.静态方法引用
<1>编写自定义函数式接口

<2>测试
I.原生方式与lambda方式

II.方法引入结合lambda和函数式接口实现

III.参数列表/返回值类型不一致的报错以及解决
i.报错

ii.解决


2.对象方法引用
<1>函数式接口

<2>测试
I.使用匿名内部类的方式

II.lambda表达式写法

III.方法引用

3.实例方法引用
<1>编写函数式接口

<2>测试
I.使用lambda表达式

II.实例方法引用

4.构造函数引用
<1>编写函数式接口与实体类


<2>测试
I.lambda表达式写法

II.方法引用结合lambda

五.stream接口
六.Optional类
1.是什么
2.为什么用
之前判断一个对象包括对象的值或者判断一个值是否为空,需要自己写if判断,所以lambda表达式结合函数式编程结合Optional就可以在一行代码内实现判断对象是否为空
3.怎么用(API使用)
<1>判断对象是否为空

<2>参数过滤与设定默认值
I.默认值设置

II.参数过滤

<3>真实案例代码优化
I.判断一个值是否为空
i.功能实现

ii.代码优化

iii.使用lambda继续优化

iv.使用方法引用继续优化

II.
i.优化前

ii.优化后

iii.继续优化
