5

javac内で実行される注釈プロセッサを書いています。注釈付きのクラスをスキャンし、クラス名を含むリソースファイルを生成します。これらの名前は、実行時に使用され、のClass<?>おかげで取得できるようになりClass.forName(String)ます。

からクラス名(例:pgk1.pkg2.Foo $ Bar)を取得する方法javax.lang.model.element.TypeElement

ヒント:単純な名前(例:Bar)も修飾名(例:pgk1.pkg2.Foo.Bar)も必要ありません。

4

1 に答える 1

7

注釈プロセッサはコンパイラによって初期化され、ProcessingEnvironmentインスタンスを受け取ります。

このメソッドName ProcessingEnvironment.getElementUtils().getBinaryName(TypeElement)は、後でクラスをインスタンス化するために使用できるバイナリ名を返します。

于 2012-11-14T14:43:58.797 に答える