通常情况下,我见过人们这样使用类文字:
Class<Foo> cls = Foo.class;
但是,如果类型是泛型,例如List呢?这可以很好地工作,但有一个警告,因为列表应该参数化:
Class<List> cls = List.class
那为什么不加<?>
呢?这会导致类型不匹配错误:
Class<List<?>> cls = List.class
我以为这样做可以奏效,但这只是一个简单的语法错误:
Class<List<Foo>> cls = List<Foo>.class
如何静态地获得Class<List<Foo>>
,例如使用类文本?
在第一个示例Class<List> cls = List.class
中,我使用@SuppressWarnings("unchecked")
来消除由于非参数化使用List而引起的警告,但我不希望这样.
有什么建议吗?