4

文字列からクラスの名前に入力されたリストを作成したいと考えています。例えば、

String nameOfClass = "com.my.list.class";
List list = new ArrayList<nameOfclass>();

実行時にテキスト形式でリストに挿入されるクラスのタイプしか知りません。

これは可能ですか?

4

1 に答える 1

9

いいえ。

ジェネリック型の注釈はコンパイル時にのみ発生し、ランタイムから消去されます。プログラムが実行されるとき、ArrayList はそのジェネリック型を認識していません。

その結果、型注釈はコンパイラにのみ役立ちます。コンパイル時 (プログラムの設計時) に型がわからない場合は、それらを使用できません。

于 2013-04-23T04:36:10.870 に答える