Java 8 新特性

Java8 Base64

阅读(388)

在Java 8中,Base64编码已经成为Java类库的标准。 Java 8 内置了 Base64 编码的编码器和解码器。 Base64工具类提供了一套静态方法获取下面三种BASE64编解码器: 基本:输出被映射到一组字符A-Za-z0-9...

Java 8 日期时间 API

阅读(423)

Java 8通过发布新的Date-Time API (JSR 310)来进一步加强对日期与时间的处理。 在旧版的 Java 中,日期时间 API 存在诸多问题,其中有: 非线程安全 − java.util.Date 是非线程安全的,所有的日...

Java 8 Nashorn JavaScript

阅读(307)

Nashorn 一个 javascript 引擎。 Nashorn JavaScript Engine 在 Java 15 已经不可用了。 这已经在 Java 11 标记为: @deprecated (forRemoval = true) ...

Java 8 Optional 类

阅读(312)

Optional 类是一个可以为null的容器对象。如果值存在则isPresent()方法会返回true,调用get()方法会返回该对象。 Optional 是个容器:它可以保存类型T的值,或者仅仅保存null。Optional提供很多有用...

Java 8 Stream

阅读(463)

Java 8 API添加了一个新的抽象称为流Stream,可以让你以一种声明的方式处理数据。 Stream 使用一种类似用 SQL 语句从数据库查询数据的直观方式来提供一种对 Java 集合运算和表达的高阶抽象。 Stream API可以极...

Java 8 默认方法

阅读(344)

Java 8 新增了接口的默认方法。 简单说,默认方法就是接口可以有实现方法,而且不需要实现类去实现其方法。 我们只需在方法名前面加个 default 关键字即可实现默认方法。 为什么要有这个特性? 首先,之前的接口是个双刃剑,好处是面向抽...

Java 8 函数式接口

阅读(402)

函数式接口(Functional Interface)就是一个有且仅有一个抽象方法,但是可以有多个非抽象方法的接口。 函数式接口可以被隐式转换为 lambda 表达式。 Lambda 表达式和方法引用(实际上也可认为是Lambda表达式)上...

Java 8 方法引用

阅读(366)

方法引用通过方法的名字来指向一个方法。 方法引用可以使语言的构造更紧凑简洁,减少冗余代码。 方法引用使用一对冒号 :: 。 下面,我们在 Car 类中定义了 4 个方法作为例子来区分 Java 中 4 种不同方法的引用。 package c...

Java Lambda 表达式

阅读(452)

Lambda 表达式,也可称为闭包,它是推动 Java 8 发布的最重要新特性。 Lambda 允许把函数作为一个方法的参数(函数作为参数传递进方法中)。 使用 Lambda 表达式可以使代码变的更加简洁紧凑。 语法 lambda 表达式的...