一、主要内容
1、Lambda表达式
2、函数式接口
3、方法引用与构造器引用
4、Stream API
5、接口中的默认方法与静态方法
6、新的时间日期API
7、其他新特性
二、java8的新特征优势
-
速度更快(优化底层数据结构、调整了内存结构)
-
代码更少(增加了Lambda表达式)
-
更强大的Stream API
-
便于并行
-
最大化的减少了空指针异常Optional
1、Lambda表达式
1.1、Lambda表达式是什么?
Lambda是一个匿名函数,可以将Lambda表达式理解为是一段(可以传递的)代码[将代码像数据一样进行传递]。
1.2、Why使用Lambda表达式
Lambda表达式可以写出更加简洁、更灵活、更紧凑的代码,使java语言的表达能得到提升。
1.3、如何使用Lambda表达式
1.3.1、Lambda表达式的基础语法:
java8中引入了一个新的操作符"->",称为箭头操作符或Lambda操作符。
"->"左边:函数(方法)的参数列表
"->"右边:函数(方法)执行的具体功能(Lambda体)
1.3.2、Lambda表达式的几种格式:
格式1: 无参数无返回
() -> System.out.println("输出无参数无返回!");
格式2: 有参数无返回
(x) -> System.out.println("输出无参数无返回!");
格式3:有参数有返回
1、一句方法体代码,可以省略{}和return关键字
2、左边只有一个参数的时候,可以省略() -----------建议加上() m -> 方法体
3、Lambda表达式的参数列表的数据类型可以省略不写,JVM编译器可以通过上下文推断出数据类型 即(类型推断)
(x,y) -> {return 返回值};