default关键字
通常在接口中我们只能有抽象方法,不能有任何方法实现,在jdk1.8打破了这个新规定
lambda表达式:
意味着java开始承认 函数式 编程,不需要声明参数类型,编译器可以统一识别参数值
函数接口:
仅仅包含一个抽象方法的接口,每一个lambda表达式会匹配到这个抽象的方法,jdk1.8提供了一个@Funcational Interface注解来定义 函数式 接口,如果我们的接口不符合函数式,规范就会报错
方法与构造方法的引用
date api 更新
加强了时间与日期的处理,1.8以前经常使用的第三方工具commons-long包等
stream流
新成员,它允许我们已经声明性的方处理数据集合,stream不是一个集合元素,更像一个迭代器,数据只能遍历一次,一次后就用尽了,解决list重复问题(stream.distinct)
Stream API
新添加的 Stream API(java.util.stream)把真正的函数式编程风格引入到Java中
Optional类
用来解决空指针异常