【发布时间】:2016-07-04 13:39:47
【问题描述】:
我明白,不能在 java 中创建泛型类数组,例如
private static final Class<String>[] ARGUMENT_TYPE = new Class<String>[]{String.class};
所以我使用了原始类型:
private static final Class[] ARGUMENT_TYPE = new Class[]{String.class};
但是现在java编译器报错了
警告:[rawtypes] 发现原始类型:类
private static final Class[] ARGUMENT_TYPE = new Class[]{String.class};
除了SuppressWarnings,还有什么办法可以对编译器说:“闭嘴,我得按照你自己的规范来做!”
【问题讨论】:
-
为什么不使用
List<Class<String>>?数组和泛型不能很好地结合起来……顺便问一下:Class<String>有什么目的?为什么不Class<?>? -
因为我知道我有
Class<String>。使用?似乎很奇怪。 -
我们使用数组是因为第 3 方库需要
Class[] -
我认为奇怪的是
Class<String>应该只有一个实例,那么为什么会有一个包含许多条目的数组都应该指向同一个对象呢?您确定您的第 3 方库不会期待一个普通的旧String[]吗?