Java リフレクションでのメソッド パラメータ名へのアクセス
概要:
Java プログラミングでは、これは便利です。クラス内のメソッドのパラメータの名前を知るため。この情報は、デバッグ、ログ記録、コードの依存関係の分析など、さまざまなシナリオで役立ちます。この記事では、Java リフレクションを使用してメソッドのパラメータ名を取得する方法について説明します。
Java 8 のメソッド getParameterNames():
Java 8 以降のバージョンでは、Java .lang.reflect.Parameter クラスは getParameterNames() メソッドを提供します。このメソッドを使用すると、指定されたメソッドのすべてのパラメータの名前を含む String オブジェクトの配列を取得できます。このメソッドを使用するには、まず、対象のメソッドを表す Method オブジェクトを取得する必要があります。
コード例:
次のコードは、getParameterNames() を使用してパラメータを取得する方法を示しています。 aMethod() の名前メソッド:
import java.lang.reflect.Method; import java.lang.reflect.Parameter; public class GetParameterNames { public static void main(String[] args) throws NoSuchMethodException { // Get the Method object for aMethod() Method aMethod = Whatever.class.getMethod("aMethod", int.class); // Get the Parameter object for the method parameter Parameter[] parameters = aMethod.getParameters(); // Extract the parameter name from the Parameter object String parameterName = parameters[0].getName(); // Print the parameter name System.out.println(parameterName); } }
考慮事項:
このアプローチが機能するには、Java コンパイラーを -parameters 引数で呼び出して、クラス ファイル内でパラメーター名の生成を有効にする必要があります。 。この引数は、JDK または Maven ビルド構成内のコンパイラ フラグに追加できます。
古い Java バージョンの代替:
8 より前の Java バージョンでは、メソッド パラメータを取得します。直接の名前はサポートされていません。ただし、実行時に Java クラスを拡張してこの情報にアクセスする方法を提供する、ASM バイトコード操作ライブラリなどのサードパーティ ライブラリがあります。
追加リソース:
以上がJava リフレクションを使用してメソッドのパラメータ名を取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。