一、lambda表达式
lambda表达式就是匿名函数。
二、Stream API
JDK1.8中最重要的两个特性就是Lambda表达式和StreamAPI。
Stream API的本质是对数据的操作进行流水线式处理,也可以理解为一个更加高级的迭代器,主要作用是遍历其中每一个元素。
三、Optional类
optional类是一个容器,代表一个值存在或者不存在,表示数据为空可以使用null,现在使用optional容器可以更好的表示一个值是否存在,可以避免空指针异常。
四、函数式接口
函数式接口就是只有一个抽象方法的接口。函数式接口可以使用lambda表达式创建接口的对象。可以使用注解@FunctionalInterface来检查接口是否为函数式接口。
Java内置的四大函数式接口分别是函数型接口、断定型接口、消耗型接口、供应型接口。
函数型接口是有参数有返回值。
段定性接口是有参数有返回值,但是返回值必须是布尔类型。
消耗型接口是有参数没有返回值。
供应型接口是没有参数有返回值。
五、方法引用和构造器引用
当lambda方法体中的操纵已经有实现方法了,此时就可以使用方法引用。
构造器引用是当lambda方法体中只有new语句时,可以使用构造器引用。
六、接口中的默认方法和静态方法
1.默认方法:java8中允许接口中包含具体实现的方法体,该方法是默认方法,需要使用default关键字修饰。
2.静态方法:java8中允许定义静态方法,需要使用static关键词修饰。