项目中用到的 JDK 7、JDK 8 的新特性(1)省略泛型参数

此系列博文用于向我的同事介绍我在新项目中使用了一些 Java SE 1.7、Java SE 1.8 的新特性,以便同事阅读和维护这些代码。

1、省略泛型参数

这是 JDK 7 引入的特性,在调用泛型类的构造方法时,如果编译器可以明确泛型的类型,则可以省略泛型。例如:

Map<String, Map<String, String>> cache = new HashMap<String, Map<String, String>>();

可被省略为

Map<String, Map<String, String>> cache = new HashMap<>();

 

再例如:

private void handlePairList(List<Pair<String, String>> pairList) {
    ......
}
public void test() {
    handlePairList(new ArrayList<Pair<String, String>>());
}

可被省略为

public void test() {
    handlePairList(new ArrayList<>());
}

 

如果以后用了 JDK 10 或以上版本,还可以使用 var 关键字,把

Map<String, Map<String, String>> cache = new HashMap<String, Map<String, String>>();

省略为

var cache = new HashMap<String, Map<String, String>>();

 

posted @ 2021-11-21 19:12  Firas  阅读(250)  评论(0编辑  收藏  举报