我可以从中得到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.
}
反过来看这个问题:获取组件类型的数组类