Javaでメソッドの@paramコメントを取得する方法はありますか? 各Javaファイルを解析することで簡単に実現できることを私は知っています。ただし、これは JavaCC などのツールで既に利用できるようになっているようです。
例 - ch とオブザーバーを読み取れるようにしたい:
* @param ch the character to be tested
* @param observer the image observer to be notified
ソースがある場合は、JavaDoc @tags を備えたソース ファイルからクラス/インターフェイス/メソッド定義を抽出するための、高速でフットプリントの小さいパーサーとして説明されているQDoxの使用を検討することをお勧めします。アクティブなコード ジェネレーターまたはドキュメント ツールで使用するように設計されています。
ドキュメントのサンプルコード:
JavaMethod mth = cls.getMethods()[0];
// Access the JavaDoc comment
String comment = mth.getComment();
// "This method does nothing at all."
// Access a single doclet tag
DocletTag returns = mth.getTagByName("returns");
returns.getName(); // "returns";
returns.getValue(); // "A boolean of whether we care or not."
// Access multiple doclet tags with the same name
DocletTag[] params = mth.getTagsByName("param");
params[0].getValue(); // "Someone's email address."
params[1].getValue(); // "Date of birth."
// Access specific parameters of a doclet tag by index
DocletTag permission = mth.getTagByName("permission");
permission.getParameter[0]; // "administrator"
permission.getParameter[1]; // "full-access"
// Access specific parameters of a doclet tag by name
DocletTag webservice = mth.getTagByName("webservice");
webservice.getNamedParameter("type"); // "rpc"
webservice.getNamedParameter("name"); // "myservice"
簡単な答えは「いいえ」です。コメントはファイルにコンパイルされないため、実行時にコメントにアクセスできません。.class
さまざまな方法を使用してソース (利用可能な場合) を解析できますが、それは質問のトピックから外れているようです。
javadoc コメントで @param を参照していますか? Javac (または本当に Java コンパイラ コンパイラの JavaCC を意味しますか?) は、それらは単なるコメントであるため、それらを無視します。javadoc ツールを使用することもできますが、メモリが機能する場合でも、今日でも独自のドックレットを作成できます。
または、メソッドの注釈を参照していますか? アノテーション宣言で保持がランタイムに設定されている場合、これらは Java コードで取得できます。