1

我可以从中得到Class<T>Class<T[]>

public static <T> void doSometing(final Class<T[]> arrayType) {

    final Class<T> elementType; // = @@?
}

或者,我可以从中得到Class<T[]>Class<T>

4

1 回答 1

5

您可以使用Class.getComponentType(),尽管该方法无法为您提供泛型类型安全性,因此您需要进行未经检查的强制转换以获得Class<T>

public static <T> void doSomething(final Class<T[]> arrayType) {

    @SuppressWarnings("unchecked")
    final Class<T> componentType = (Class<T>)arrayType.getComponentType();

    //etc.
}

反过来看这个问题:获取组件类型的数组类

于 2013-06-20T03:01:48.510 回答