5

重複の可能性:
実行時に、基本クラスを拡張する Java アプリケーション内のすべてのクラスを検索します。

特定のクラス (親) を拡張するすべてのクラス (子) のリストを取得し、それらすべてのインスタンスを作成する必要があります。

Javaでこれを行うにはどうすればよいですか?

4

1 に答える 1

5

http://code.google.com/p/reflections/を使用します

Reflections を使用すると、次のようなメタデータを照会できます。

  • あるタイプのすべてのサブタイプを取得する
  • 注釈パラメーターが一致しない、何らかの注釈で注釈が付けられたすべての型/メソッド/フィールドを取得します
  • 正規表現に一致するすべてのリソースを取得します

これは、インデックス モードまたはキャッシュ モードで使用できます。@Jagger が示唆するように、すべてのクラスのブルート フォース検索は比較的低速です。パッケージごとに検索を制限することもできます。com.mycom.*

于 2012-04-23T08:05:39.983 に答える