繁体   English   中英

Java:嵌套泛型?

[英]Java: Nested generics?

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>>();

您忘记了'new'关键字,如下面的代码所示:

ArrayList <ArrayList <Integer >> numSetSet = new ArrayList <ArrayList <Integer >>();

您还可以使用映射以及嵌套泛型的列表,如Java 5(J2SE 5.0 / JDK 1.5)中所示。

对于那些通过谷歌提出这个问题的人来说,Yes Generics可以嵌套。 其他答案就是这样做的好例子。

这里有一些关于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/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM