ホームページ  >  記事  >  Java  >  Java リフレクションを使用してメソッドのパラメータ名を取得するにはどうすればよいですか?

Java リフレクションを使用してメソッドのパラメータ名を取得するにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-11-08 19:52:02824ブラウズ

How Can I Retrieve Method Parameter Names Using Java Reflection?

Java リフレクションを使用してメソッド パラメータ名を取得できますか?

バージョン 8 より前の Java では、リフレクションを通じてメソッド パラメータ名を直接取得することはできませんでした。ただし、バージョン 8 での Java Reflection API の導入により、この機能が導入されました。

Java 8 でのパラメータ名の取得

Java 8 リフレクションを使用してメソッド パラメータの名前を取得するには、次のようにします。次のアプローチを使用できます。

  1. リフレクション (Method.getMethod() または Class.getDeclaredMethod()) を使用して、問題のメソッドの Method オブジェクトを取得します。
  2. getParameters( Method オブジェクトの ) メソッドを使用して、Parameter オブジェクトの配列を取得します。
  3. 各 Parameter オブジェクトで isNamePresent() を呼び出して、パラメーター名が使用できるかどうかを確認します。そうしないと、パラメータ名を取得できません。
  4. パラメータ オブジェクトで getName() を呼び出してパラメータ名を取得します。

コード例

次のコードJava 8 でメソッドのパラメータ名を取得する方法を示します。

追加情報

  • 上記のコード例が機能するには、-parameters コンパイラを使用してコードをコンパイルする必要があります。パラメータ名の保持を有効にする引数。
  • パラメータ名を取得する機能は比較的新しい機能であるため、すべての Java 環境でサポートされているわけではありません。 Java バージョンの互換性を確認してください。
  • 詳細なドキュメントについては、次のリソースを参照してください:

    • [Java チュートリアル: メソッド パラメータの名前の取得](https: //docs.oracle.com/javase/tutorial/reflect/methodparameterreflection.html#obtainingnames)
    • [パラメータ クラスの Javadoc](https://docs.oracle.com/javase/8/docs/api) /java/lang/reflect/Parameter.html)

以上がJava リフレクションを使用してメソッドのパラメータ名を取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。