可能重复:
获取当前执行方法的名称
有没有办法Java
让给定的方法知道自己的名字?如果是这样,如何从方法内部引用它?
您可以通过分析堆栈跟踪来确定它。但它可能会带来相当大的性能损失。在 AOP 世界中,您还可以拥有将确定方法名称并将其存储在某种上下文中的方面。
在堆栈跟踪方法中,您会执行类似的操作
Exception e = new Exception();
e.fillInStackTrace();
e.getStackTrace()[0].getMethodName();
或(如评论中所建议)
Thread.currentThread().getStackTrace()[0].getMethodName();
堆栈跟踪的第一个元素(Thread.currentThread().getStackTrace()
参见此问题)应该告诉您当前在运行时使用哪种方法。