1

有没有办法,使用 Java 反射或其他方式,方法可以检索自己的名称?最好作为字符串。

上下文:-我有一个方法,它调用另一个方法,该方法将第一个方法的名称作为输入。所以我需要一种方法让第一种方法知道它自己的名字..

例子:-

 public class Example
 {
   static void exampleMethod1()
   {
     exampleMethod2(name_of_exampleMethod1);
   }

  static void exampleMethod2(String value)
  {
     -------some code------------
  }
}
4

2 回答 2

4

作为替代方案,您可以从当前堆栈中获取它:

System.out.println(Thread.currentThread().getStackTrace()[1].getMethodName())
于 2013-08-20T12:08:20.783 回答
1

您可以通过分析堆栈跟踪来完成您的要求:

new Throwable().getStackTrace()[0].getMethodName();
于 2013-08-20T12:08:14.290 回答