ホームページ > Java > &#&チュートリアル > Java で現在のメソッド名を取得するにはどうすればよいですか?

Java で現在のメソッド名を取得するにはどうすればよいですか?

DDD
リリース: 2024-12-18 17:41:11
オリジナル
793 人が閲覧しました

How Can I Get the Current Method's Name in Java?

Java での現在のメソッドの名前の取得

開発者は、トラブルシューティングのために Java で現在実行中のメソッドの名前を取得する方法を探すことがよくあります。または情報提供目的。多数のアプローチが存在しますが、いくつかのアプローチは他のアプローチよりも効率的で効果的です。

Object.getClass().getEnクロージングメソッド().getName()

1 つのメソッドは、匿名内部クラス:

String name = new Object(){}.getClass().getEnclosingMethod().getName();
ログイン後にコピー

ただし、この手法は欠点:

  • コンパイル時に新しい匿名内部クラスが生成され、.class ファイル作成のオーバーヘッドが発生します。
  • 未使用のオブジェクト インスタンスが作成されます。 runtime.

利点:

  • java.lang.reflect.Method オブジェクトを返し、メソッドの注釈とパラメータ名へのアクセスを提供します。
  • 同じ名前のメソッドを区別できる(オーバーロード)。
  • JavaDoc によると、内部クラスは同じクラス ローダーを使用してロードされるため、SecurityException はスローされません。

注: コンストラクターの場合、代わりに getEnクロージングConstructor() を使用してください。名前付きメソッドの外側のブロック中に、getEnクロージングメソッド() は null を返します。

このアプローチは有効な解決策ですが、開発者は実稼働コードに採用する前に、必要な機能とオーバーヘッドを比較検討する必要があります。

以上がJava で現在のメソッド名を取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート