Java可以嵌套泛型吗?以下在 Eclipse 中给了我一个错误:
ArrayList<ArrayList<Integer>> numSetSet = ArrayList<ArrayList<Integer>>();
错误是:
Syntax error on token "(", Expression expected after this token
Java可以嵌套泛型吗?以下在 Eclipse 中给了我一个错误:
ArrayList<ArrayList<Integer>> numSetSet = ArrayList<ArrayList<Integer>>();
错误是:
Syntax error on token "(", Expression expected after this token
你忘记了这个词new
。
那应该是:
ArrayList<ArrayList<Integer>> numSetSet = new ArrayList<ArrayList<Integer>>();
甚至更好:
List<List<Integer>> numListList = new ArrayList<List<Integer>>();
对于那些通过谷歌提出这个问题的人,是的,泛型可以嵌套。其他答案就是这样做的好例子。
这里有一些关于 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/
您忘记了以下代码中的“新”关键字:
ArrayList<ArrayList<Integer>> numSetSet = new ArrayList<ArrayList<Integer>>();
您还可以将 Maps 与 Lists 一起用于嵌套泛型,如Java 5 (J2SE 5.0/JDK 1.5) New Features with Examples中所示