我可以从Class<T[]>
获得Class<T>
吗?如何从数组类型类中获取元素类型类?
public static <T> void doSometing(final Class<T[]> arrayType) {
final Class<T> elementType; // = @@?
}
或者,我可以从Class<T>
Class<T[]>
?
我可以从Class<T[]>
获得Class<T>
吗?如何从数组类型类中获取元素类型类?
public static <T> void doSometing(final Class<T[]> arrayType) {
final Class<T> elementType; // = @@?
}
或者,我可以从Class<T>
Class<T[]>
?
您可以使用Class.getComponentType()
,虽然没有办法为这个方法给你泛型类型安全,所以你需要做一个未经检查的投获得Class<T>
:
public static <T> void doSomething(final Class<T[]> arrayType) {
@SuppressWarnings("unchecked")
final Class<T> componentType = (Class<T>)arrayType.getComponentType();
//etc.
}
你可以看看下面这个问题吗? http://stackoverflow.com/questions/17204788/two-methods-for-creating-a-generic-array –
@JinKwon对不起,我没有看到更快。看起来它已经很好地回答了。 –
能否请你解释一下这个 –
的用例我回滚了你的更新,因为它最终以一个新问题的形式出现。 –