0
1

More than 3 years have passed since last update.

【Java】メソッド情報から引数名を取得する方法

Posted at

概要

Javaのクラス情報(java.lang.Class)に含まれるメソッド情報(java.lang.reflect.Method)からは、メソッドで定義した引数の名前が取得できます。
今回はその引数名の取得方法を紹介します。

条件など

  • こちらのStackOverflowの記事にある通り、Java8以降が前提となります。Java8以降ではMethodからParameterクラスが取得可能なので、ParameterクラスのgetName()を使用することで引数名が取得できます。
  • Javaのコンパイルオプションで、classファイルにパラメータ情報を含める必要があります。この設定を行わないと引数名を取得してもarg0、arg1のような形になります。コンパイルオプションにどういう指定をすれば良いか、リフレクションで引数名を取得するときはjavacに-parametersオプションをつけるにて紹介されています。なお、Intellijでの設定方法はこちらのStackOverflowの記事を参照ください。

実装サンプル

大した内容ではないのですが、MethodクラスからParameterを取得し、それを出力する実装サンプルものせておきます。

public static void outputMethodParamName(Method m) {
    Arrays.stream(m.getParameters()).forEach(p -> {
        System.out.println(p.getName());
    });
}
0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1