Java反思方法自我意识

时间:2013-08-20 12:06:20

标签: java reflection

有没有办法,使用Java Reflection或其他方法,方法可以通过它检索自己的名称?最好是一个字符串。

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

实施例: -

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

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

2 个答案:

答案 0 :(得分:4)

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

System.out.println(Thread.currentThread().getStackTrace()[1].getMethodName())

答案 1 :(得分:1)

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

new Throwable().getStackTrace()[0].getMethodName();