跳至主要內容
Java 10 新特性:局部变量的类型推断

Java 10 新特性:局部变量的类型推断

在Java当引入泛型的时候,我们申明具体类型的时候需要这样写(等号两边都需要):

List<String> list = new ArrayList<String>();
Map<String, String> map = new HashMap<String,String>();

程序猿DD原创大约 1 分钟JavaJavaJava 9
Java 9 新特性:不可变集合的快捷创建方法

Java 9 新特性:不可变集合的快捷创建方法

在Java 9中又新增了一些API来帮助便捷的创建不可变集合,以减少代码复杂度。

常规写法

以往我们创建一些不可变集合的时候,通常是这样写的:

// 不可变的Set
Set<String> set = new HashSet<>();
set.add("a");
set.add("b");
set.add("c");
set = Collections.unmodifiableSet(set);

// 不可变的List
List<Integer> list = new ArrayList<>();
list.add(1);
list.add(2);
list.add(3);
list = Collections.unmodifiableList(list);

程序猿DD原创大约 2 分钟JavaJavaJava 9
Java 9 新特性:交互式编程环境JShell

Java 9 新特性:交互式编程环境JShell

什么是交互式编程环境?重点词交互,在这样的编程环境中,你每输入一行代码,环境都会给你一个反馈,这就是交互式的编程环境。这种编程环境并不太适合工程化的复杂性需求,但在一些快速验证、简单计算之类的场景下还是非常好用的。其实交互式编程环境在其他高级语言中很早就有了,而Java直到Java 9才正式推出了这样的工具。

下面就来一起学习下,这个Java中的交互式编程环境JShell

JShell快速入门


程序猿DD原创大约 8 分钟JavaJavaJava 9
Java 9都有哪些新特性?

Java 17 是Java 最重要的一个LTS版本之一,但是直接从Java 8 过渡到Java 17跨度太大了,势必有些困难。所以胖哥抽时间梳理了一下从Java 9到Java 17的一些常用API的变动。今天先来看看Java 9 都有什么东西。

Java 9

Java 9 最大的变化就是引入了一个JShell和模块化,日常并没有用太多,所以今天不花时间在这些功能上面。

新的创建集合的方法

用过谷歌Guava类库的知道,Guava提供了创建集合的静态工厂方法,而且能够推断泛型,举个例子:


码农小胖哥大约 4 分钟JavaJavaJava 9