![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java8新特性学习
超人_不会飞
这个作者很懒,什么都没留下…
展开
-
Java1.8新特性学习(1)
新特性Java8 新增了非常多的特性,我们主要讨论以下几个:Lambda 表达式 − Lambda允许把函数作为一个方法的参数(函数作为参数传递进方法中。方法引用 − 方法引用提供了非常有用的语法,可以直接引用已有Java类或对象(实例)的方法或构造器。与lambda联合使用,方法引用可以使语言的构造更紧凑简洁,减少冗余代码。默认方法 − 默认方法就是一个在接口里面有了一个实现的方法。...原创 2019-04-28 21:06:29 · 451 阅读 · 0 评论 -
Java1.8新特性学习(2)—— Lambda 表达式
语法lambda 表达式的语法格式如下(parameters) -> expression或(parameters) ->{ statements; }以下是lambda表达式的重要特征:可选类型声明:不需要声明参数类型,编译器可以统一识别参数值。可选的参数圆括号:一个参数无需定义圆括号,但多个参数需要定义圆括号。可选的大括号:如果主体包含了一个语句,就不需要使用大...原创 2019-04-29 13:31:20 · 130 阅读 · 0 评论 -
Java1.8新特性学习(3)—— 方法引用
方法引用通过方法的名字来指向一个方法。方法引用可以使语言的构造更紧凑简洁,减少冗余代码。方法引用使用一对冒号 :: 。下面,我们在 Car 类中定义了 4 个方法作为例子来区分 Java 中 4 种不同方法的引用package com.runoob.main;@FunctionalInterfacepublic interface Supplier<T> { T g...原创 2019-04-29 14:03:55 · 91 阅读 · 0 评论 -
Java1.8新特性学习(4)—— 函数式接口
函数式接口(Functional Interface)就是一个有且仅有一个抽象方法,但是可以有多个非抽象方法的接口。函数式接口可以被隐式转换为 lambda 表达式。Lambda 表达式和方法引用(实际上也可认为是Lambda表达式)上。如定义了一个函数式接口如下:@FunctionalInterfaceinterface GreetingService { void sayM...原创 2019-04-29 15:57:39 · 152 阅读 · 0 评论 -
Java1.8新特性学习(5)—— 默认方法
Java 8 新增了接口的默认方法。简单说,默认方法就是接口可以有实现方法,而且不需要实现类去实现其方法。我们只需在方法名前面加个 default 关键字即可实现默认方法。为什么要有这个特性?首先,之前的接口是个双刃剑,好处是面向抽象而不是面向具体编程,缺陷是,当需要修改接口时候,需要修改全部实现该接口的类,目前的 java 8 之前的集合框架没有 foreach 方法,通常能想到的解...原创 2019-04-29 16:28:11 · 151 阅读 · 0 评论 -
Java1.8新特性学习(6)—— Stream
Java 8 API添加了一个新的抽象称为流Stream,可以让你以一种声明的方式处理数据。Stream 使用一种类似用 SQL 语句从数据库查询数据的直观方式来提供一种对 Java 集合运算和表达的高阶抽象。Stream API可以极大提高Java程序员的生产力,让程序员写出高效率、干净、简洁的代码。这种风格将要处理的元素集合看作一种流, 流在管道中传输, 并且可以在管道的节点上进行处理,...原创 2019-04-29 17:50:11 · 161 阅读 · 0 评论 -
Java1.8新特性学习(7)—— Optional
Optional 类是一个可以为null的容器对象。如果值存在则isPresent()方法会返回true,调用get()方法会返回该对象。Optional 是个容器:它可以保存类型T的值,或者仅仅保存null。Optional提供很多有用的方法,这样我们就不用显式进行空值检测。Optional 类的引入很好的解决空指针异常。类声明以下是一个 java.util.Optional 类的声明:...原创 2019-04-30 09:56:21 · 184 阅读 · 0 评论