导语
Java8发布时被誉为Java里程碑式的一次更新,是Java由面向对象编程转向面向函数编程的重要转折点,带来了前所未有的诸多特性,由于某些特性内容过多,为了不影响观看体验,博主将其详细介绍提取到了其他博客中,点击尾部链接可直接访问。
函数式接口
函数式接口是函数式编程的基础,该接口使用@FunctionalInterface修饰,被该注解修饰的接口中有且只能有一个抽象方法。常用函数式接口有Supplier Consumer Predicate Function。
Lambda表达式
如果说函数式编程是Java8的主旋律,那么Lambda表达式就是主旋律中的基调,Lambda表达式的目标类型有两种,一种是使用了 @Functional 注释的函数式接口,另外一种是SAM(Single Abstract Method 单个抽象方法)类型的接口。点击链接查看详细介绍
Stream API
Stream接口位于java.util.stream包,异于java.io包下的InputStream和OutputStream,java.io下这两个抽象类是关于文件的操作的抽象,而该接口是Java中集合和数组数据处理的抽象,可以对集合及数组进行非常复杂的查找、过滤、聚合等操作,是对集合对象功能的增强。点击链接查看详细介绍
Optional类
Optional类是Java8中新引入的一个容器类,该类位于java.util包下,该容器对象可以保存一个空或非空的值,使用该容器对象中维护数据时,无需额外编写空检查语句,直接调用该容器对象的方法即可判断该数据是否为空,减少代码量及降低程序中的出现空指针异常的概率。点击链接查看详细介绍
新的日期时间API
在Java8前,其原生日期时间处理API一直被人吐槽,
如果你也饱受其折磨,那不妨了解下Java8新的时间日期API点击链接查看详细介绍
方法引用
如果说Lambda表达式是用来简化我们开发代码量的语法,那么方法引用就是简化特定Lambda表达式的语法点击链接查看详细介绍
接口中定义默认方法
持续更新中。。。