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

2022-09-01 15:02:58

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

例如,在方法内部,我想知道我正在执行该方法。private void doSomething (String s)doSomething (String s)


答案 1

由于 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
     }
   }

答案 2
System.out.println(new Exception().getStackTrace()[0].getMethodName());

另请参见