如何在Java中从该方法中查找方法名称?

Jam*_*sev 26 java methods

我想知道是否有办法知道在运行时执行的方法名称?

例如,在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)

  • 不知道为什么这对我不起作用...它为我打印出"getStackTrace" - 使用Java 1.5 (2认同)

Jig*_*shi 10

System.out.println(new Exception().getStackTrace()[0].getMethodName());
Run Code Online (Sandbox Code Playgroud)

另见