背景
- 从2019年1月份开始,Oracle JDK 开始对 Java SE 8 之后的版本开始进行商用收费。
- JDK 11 相对于 8 来说,性能上有不小的提升,而且对于商用开发来说,11 的补丁和安全警告等支持将持续至 2026 年。
相对于 8 的特性一览
功能增强
字符串增强
// 判断字符串是否为空白
" ".isBlank(); // true
// 去除首尾空格
" Hello Java11 ".strip(); // "Hello Java11"
// 去除尾部空格
" Hello Java11 ".stripTrailing(); // " Hello Java11"
// 去除首部空格
" Hello Java11 ".stripLeading(); // "Hello Java11 "
// 复制字符串
"Java11".repeat(3); // "Java11Java11Java11"
// 行数统计
"A\nB\nC".lines().count(); // 3
集合增强
从Java 9 开始,jdk里面就为集合(List、Set、Map)增加了of和copyOf方法。它们用来创建不可变集合,代码示例:
var list = List.of("Java", "Python", "C"); //不可变集合
var copy = List.copyOf(list); //copyOf判断是否是不可变集合类型,如果是直接返回
System.out.println(list == copy)