在Java SE 7之前,声明泛型对象的代码如下:
|
List<String> list = new ArrayList<String>(); |
而在Java 7中,可以使用如下代码:
|
List<String> list = new ArrayList<>(); |
因为编译器可以从前面(List)推断出推断出类型参数,所以后面的ArrayList之后可以不用写泛型参数,只用一对空着的尖括号就可以。Java 7 只支持有限的类型推断:只有构造器的参数化类型在上下文中被显著的声明了,才可以使用类型推断,否则不行,例如:
|
List<String> list = new ArrayList<>(); list.add("A"); list.addAll(new ArrayList<>()); //这样声明不合法 List<? extends String> list2 = new ArrayList<>(); //这样声明合法 list.addAll(list2); |
本文介绍Java 7中引入的类型推断特性,简化了泛型对象的声明方式。通过实例展示了如何利用该特性减少冗余代码,并强调了其适用范围及限制。
143

被折叠的 条评论
为什么被折叠?



