Java:如何从泛型类型中获取类文字?
通常,我看到人们像这样使用类文字:
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>>
我可以用来摆脱在第一个示例中非参数化使用List引起的警告,但我宁愿不这样做。@SuppressWarnings("unchecked")
Class<List> cls = List.class
有什么建议吗?