我的代碼片段。如何爲java.lang.reflect.Array.newInstance傳遞泛型類型?
public class GenericArray <T extends Comparable<T>>{
private T[] a;
private int nElems;
public GenericArray(int max) // constructor
{
a=(T[])java.lang.reflect.Array.newInstance(Integer.class, max);
//Hard coded for Integer.
}
}
GenericArray arr= new GenericArray<Integer>(100);
這工作,因爲我實例化顯式傳遞Integer.class。我如何使它成爲通用的?
或 有沒有辦法打印使用ParameterizedType傳遞給GenericArray的類型信息?
謝謝。完善。爲此,如何打印我正在打印的類型類?我試過System.out.println(((ParameterizedType)getClass()。getGenericSuperclass())。getActualTypeArguments()[0] .getClass()。getCanonicalName()); – sunhara