重複の可能性:
現在実行中のメソッドの名前を取得する
Java
特定のメソッドが独自の名前を知る方法はありますか? もしそうなら、メソッド内からどのように参照できますか?
スタック トレースを分析することで判断できます。ただし、パフォーマンスが大幅に低下する可能性があります。AOPユニバースでは、メソッド名を決定し、それを何らかのコンテキストに保存するアスペクトを持つこともできます。
スタックトレースメソッドでは、次のようにします
Exception e = new Exception();
e.fillInStackTrace();
e.getStackTrace()[0].getMethodName();
または(コメントで提案されているように)
Thread.currentThread().getStackTrace()[0].getMethodName();
スタック トレースの最初の要素 ( 、この質問Thread.currentThread().getStackTrace()
を参照) は、実行時に現在どのメソッドにいるのかを示します。