有没有办法,使用Java Reflection或其他方法,方法可以通过它检索自己的名称?最好是一个字符串。
上下文: - 我有一个方法,它调用另一个方法,该方法将第一个方法的名称作为输入。所以我需要一种方法让第一种方法知道它自己的名字..
实施例: -
public class Example
{
static void exampleMethod1()
{
exampleMethod2(name_of_exampleMethod1);
}
static void exampleMethod2(String value)
{
-------some code------------
}
}
答案 0 :(得分:4)
作为替代方案,您可以从当前堆栈中获取它:
System.out.println(Thread.currentThread().getStackTrace()[1].getMethodName())
答案 1 :(得分:1)
您要求的是通过分析堆栈跟踪来完成的:
new Throwable().getStackTrace()[0].getMethodName();