私のコードスニペット。私は明示的にインスタンス化Integer.classを渡していたよう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);
これは、動作します。これを一般的なものにするにはどうすればよいですか?
または ParameterizedTypeを使用してGenericArrayに渡された型情報を出力する方法はありますか?そのため型消去の
ありがとうございます。完璧。これを拡張して、私はどのように印刷しているタイプのクラスを印刷できますか?私はSystem.out.println((ParameterizedType)getClass()。getGenericSuperclass())を試してみました。 – sunhara