特定のクラス (親) を拡張するすべてのクラス (子) のリストを取得し、それらすべてのインスタンスを作成する必要があります。
Javaでこれを行うにはどうすればよいですか?
特定のクラス (親) を拡張するすべてのクラス (子) のリストを取得し、それらすべてのインスタンスを作成する必要があります。
Javaでこれを行うにはどうすればよいですか?
http://code.google.com/p/reflections/を使用します
Reflections を使用すると、次のようなメタデータを照会できます。
- あるタイプのすべてのサブタイプを取得する
- 注釈パラメーターが一致しない、何らかの注釈で注釈が付けられたすべての型/メソッド/フィールドを取得します
- 正規表現に一致するすべてのリソースを取得します
これは、インデックス モードまたはキャッシュ モードで使用できます。@Jagger が示唆するように、すべてのクラスのブルート フォース検索は比較的低速です。パッケージごとに検索を制限することもできます。com.mycom.*