Java可以嵌套泛型吗?以下是Eclipse中的一个错误:
ArrayList<ArrayList<Integer>> numSetSet = ArrayList<ArrayList<Integer>>();
错误是:
Syntax error on token "(", Expression expected after this token
答案 0 :(得分:22)
您忘记了new
这个词。
答案 1 :(得分:7)
应该是:
ArrayList<ArrayList<Integer>> numSetSet = new ArrayList<ArrayList<Integer>>();
甚至更好:
List<List<Integer>> numListList = new ArrayList<List<Integer>>();
答案 2 :(得分:1)
对于那些通过谷歌提出这个问题的人来说,Yes Generics可以嵌套。其他答案就是这样做的好例子。
答案 3 :(得分:1)
这里有一些关于Java模板编程的技巧略显棘手,我怀疑有多少人以前在Java中使用过它。
这是一种避免施放的方法。
public static <T> T doSomething(String... args)
这是一种使用通配符限制参数类型的方法。
public void draw(List<? extends Shape> shape) {
// rest of the code is the same
}
您可以在SUN的网站上获得更多样本:
http://java.sun.com/developer/technicalArticles/J2SE/generics/
答案 4 :(得分:1)
您忘记了'new'关键字,如下面的代码所示:
的ArrayList&LT; ArrayList的&LT;整数&GT;&GT; numSetSet = new ArrayList&lt; ArrayList&lt; Integer&gt;&gt;();
您还可以将地图与列表一起使用嵌套泛型,如Java 5 (J2SE 5.0/JDK 1.5) New Features with Examples
所示