我想知道是否有办法知道在运行时执行的方法名称?
例如,在private void doSomething (String s)方法内部,我想知道我正在执行该doSomething (String s)方法.
Rea*_*wTo 62
从JDK1.5开始,您不需要Exception来获取StackTrace,
您可以使用Thread.currentThread().getStackTrace():
public class Test2 {
public static void main(String args[]) {
new Test2().doit();
}
public void doit() {
System.out.println(
Thread.currentThread().getStackTrace()[1].getMethodName()); // output : doit
}
}
Run Code Online (Sandbox Code Playgroud)
Jig*_*shi 10
System.out.println(new Exception().getStackTrace()[0].getMethodName());
Run Code Online (Sandbox Code Playgroud)
另见