Java8到Java17

JAVA17 就要正式发布了,趁有时间学习一下。以后就 JAVA8 工作和 JAVA17 学习了。下面讲一下 JAVA9 到 JAVA17 所有的新特性

还没有发正式版,先手动安装 GA 版。我的电脑是Manjaro系统,使用 archlinux-java 进行版本管理

1
2
3
4
5
cd ~/Downloads
wget https://download.java.net/java/GA/jdk17/0d483333a00540d886896bac774ff48b/35/GPL/openjdk-17_linux-x64_bin.tar.gz
sudo tar -zxvf openjdk-17_linux-x64_bin.tar.gz -C /usr/lib/jvm
cd /usr/liv/jvm
sudo mv jdk-17 java-17-openjdk

archlinux-java 进行版本管理成功

JAVA9

内置集合工厂

1
2
3
4
5
6
7
8
9
10
11
12
13
14
//集合工厂,immutable,Guava有类似功能
//声明的时候set不能重复,map的key也不能重复
List<Integer> list = List.of(1, 3, 4, 5, 7, 10);
Set<Integer> set = Set.of(1, 2, 3, 5);
Map<String, String> map = Map.of("k1", "v1", "k2", "v3", "k3", "v3");
/*
UnsupportedOperationException,不可变的
list.remove(3)
set.remove(2);
map.remove("k3");*/
//java8 方法引用
list.forEach(System.out::println);
set.forEach(System.out::println);
map.forEach((k, v) -> System.out.println("k: " + k + ",v: " + v));

Java8到Java17
https://polarisink.github.io/20220813/yuque/Java8到Java17/
作者
Areis
发布于
2022年8月13日
许可协议