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类

用来解决空指针异常