- Java 10 教程
- Java 10 - 主页
- Java 10 - 概述
- Java 10 - 环境设置
- Java 10 - 基于时间的发布版本控制
- Java 10 - 局部变量类型推断
- Java 10 - 新 API 和选项
- Java 10 - 删除的功能和选项
- Java 10 - 已弃用的功能和选项
- Java 10 - JIT 编译器
- Java 10 - 类数据共享
- Java 10 - 增强的垃圾收集
- Java 10 - 区域设置增强
- Java 10 - 堆分配
- Java 10 - 统一的 JDK 森林
- Java 10 - 根证书
- Java 10 - 线程本地握手
- Java其他版本教程
- Java教程
- Java 8 教程
- Java 9 教程
- Java 10 有用资源
- Java 10 - 快速指南
- Java 10 - 有用的资源
- Java 10 - 讨论
Java 10 - 新 API 和选项
JDK 10 版本向 Java 库添加了 70 多个新 API 和选项。以下是引入的一些重要增强功能。
可选.orElseThrow() 方法
java.util.Optional 类中提供了一个新方法orElseThrow() ,它现在是get()方法的首选替代方法。
用于创建不可修改集合的 API
List、Set 和 Map 接口中提供了一种新方法copyOf() ,它可以从现有集合实例创建新的集合实例。Collector 类具有新方法toUnmodifyingList()、toUnmodifyingSet() 和 toUnmodifyingMap(),用于将流的元素获取到不可修改的集合中。
禁用 JRE 上次使用情况跟踪
引入了一个新标志 jdk.disableLastUsageTracking,它禁用正在运行的 VM 的 JRE 最后使用情况跟踪。
哈希密码
jmxremote.password 文件中可用的纯文本密码现在被 JMX 代理用其 SHA3-512 哈希值覆盖。
javadoc 对多个样式表的支持
javadoc 命令可以使用一个新选项 --add-stylesheet。此选项支持在生成的文档中使用多个样式表。
javadoc 对重写方法的支持
javadoc 命令可以使用一个新选项 --overridden-methods=value。许多类会重写继承的方法,但不会更改规范。--overridden-methods=value 选项允许将这些方法与其他继承的方法分组,而不是再次单独记录它们。
javadoc 对摘要的支持
新的内联标记 {@summary ...} 可用于指定用作 API 描述摘要的文本。默认情况下,API 描述的摘要是从第一句话推断出来的。
例子
以下程序展示了 JAVA 10 中一些新 API 的使用。
import java.util.List; import java.util.stream.Collectors; public class Tester { public static void main(String[] args) { var ids = List.of(1, 2, 3, 4, 5); try { // get an unmodifiable list List<Integer> copyOfIds = List.copyOf(ids); copyOfIds.add(6); } catch(UnsupportedOperationException e){ System.out.println("Collection is not modifiable."); } try{ // get an unmodifiable list List<Integer> evenNumbers = ids.stream() .filter(i -> i % 2 == 0) .collect(Collectors.toUnmodifiableList());; evenNumbers.add(6); }catch(UnsupportedOperationException e){ System.out.println("Collection is not modifiable."); } } }
输出
它将打印以下输出。
Collection is not modifiable. Collection is not modifiable.