如何设置泛型类型?例如:
也许这是一个有些愚蠢的问题,但我从未遇到过这样做的代码。
Class<List<Integer>> asd = List<Integer>.class \\ does not work
也许这是一个有些愚蠢的问题,但我从未遇到过这样做的代码。
Class<List<Integer>> asd = List<Integer>.class \\ does not work
List.class
;泛型类型只在编译时可用,并在运行时“擦除”。这里有一个简要的解释:http://docs.oracle.com/javase/tutorial/java/generics/erasure.html ,这里有更详细的内容:http://www.artima.com/weblogs/viewpost.jsp?thread=208860。
List<Object>.class
将等于List<String>.class
,它们都会产生Class<List> = List.class
... 因此,即使在您的示例中,asd
的类型是Class<List<Integer>>
,您也可以使用asd
来保存Class<String>
或其他类型。在asd
是final
的有限情况下,您不需要asd
... - BRPocock