java获取当前方法名
时间: 2023-09-09 19:09:21 浏览: 126
Java 获取当前类名和方法名的实现方法
要在Java中获取当前方法名,您可以使用`Thread.currentThread().getStackTrace()`方法来获取当前线程的堆栈跟踪信息。然后,您可以从堆栈跟踪信息中获取当前方法名。
以下是一个示例代码片段,演示如何获取当前方法名:
```java
public class MyClass {
public static void main(String[] args) {
String methodName = getCurrentMethodName();
System.out.println("Current method name: " + methodName);
}
public static String getCurrentMethodName() {
StackTraceElement[] stackTrace = Thread.currentThread().getStackTrace();
if (stackTrace.length >= 2) {
return stackTrace[1].getMethodName();
}
return null;
}
}
```
在上述示例中,我们定义了一个静态方法`getCurrentMethodName()`,它使用`Thread.currentThread().getStackTrace()`获取当前线程的堆栈跟踪信息。然后,我们从堆栈跟踪信息中获取索引为1的`StackTraceElement`,该元素代表调用`getCurrentMethodName()`方法的方法。我们使用`getMethodName()`方法获取该方法的名称。
运行上述示例代码,将会输出当前方法名。请注意,由于堆栈跟踪信息包含了更多的调用信息,因此如果您需要获取更高层次的调用方法名,可以相应地调整索引值。
阅读全文