在创建实例时指定集合元素类型

时间:2014-02-18 23:58:46

标签: java list collections arraylist java-7

以下声明之间是否有任何区别 -

List<String> list = new ArrayList<String>();

List<String> list = new ArrayList<>();

无论如何,在两种情况下,list都只有String类型的元素。

1 个答案:

答案 0 :(得分:5)

没有区别。但是,第一个在Java&lt; = 7中是合法的,而第二个在Java 7中是合法的,并且是作为简写符号 * 引入的。编译器将从声明中推断出泛型类型。

* 基本上是为了删除冗余信息并减少代码噪声。所以你现在有:

Map<String, List<String>> myMap = new HashMap<>();

Map<String, List<String>> myMap = new HashMap<String, List<String>>();

第一个在眼睛上更容易。