リフレクションを使用して、指定されたクラス名の文字列でクラスオブジェクトをインスタンス化する必要があるテンプレートメソッドがあります。戻り値のクラスが型変数を使用するインタフェースの実装であるため、このケースは少し複雑です。私はクラス名の文字列とインターフェイスの型変数の型を渡して、クラスオブジェクトを作成したいと思います。ここでは例のメソッドシグネチャは次のとおりです。リフレクションを使用してオブジェクトを作成するテンプレートメソッドを作成する
<T> Class<? extends Foo<T>>
createClassObject(String className, Class<T> classTypeVariable);
は、それがどの警告や@SuppressWarningsの注釈のいずれかの使用法なしのJava 1.5でこのメソッドを実装することは可能ですか?
EDIT:トーマスコメントのおかげで、サンプルメソッドのシグネチャが編集されました。
'classTypeVariable'は' T12'のインスタンスではなく 'Class'でなければなりませんか? –
Thomas
Btw、あなたは本当に実行時にクラスを作成するか、単にそれを調べますか?または、そのクラスのインスタンス、つまりオブジェクトを作成しますか? – Thomas
@Thomas、クラス>オブジェクトであるClass.forName()の戻り値を使用します。 – jilt3d