Java 中获取当前方法名称77


在 Java 中,有几种方法可以获取当前正在执行的方法名称。

使用 StackTraceElement

一种方法是使用 类。该类表示堆栈跟踪中的一个元素,其中包含有关正在执行的方法的信息。要使用此方法,可以使用 () 方法获取当前线程的堆栈跟踪。然后可以遍历堆栈跟踪以找到当前方法。
// 获取当前线程的堆栈跟踪
StackTraceElement[] stackTrace = ().getStackTrace();
// 遍历堆栈跟踪并找到当前方法
for (StackTraceElement element : stackTrace) {
if (().equals("getCurrentMethodName")) {
("当前方法名称:" + ());
break;
}
}

使用 Method

另一种获取当前方法名称的方法是使用 类。该类表示一个 Java 方法,并且可以用于获取有关方法的信息,例如其名称。要使用此方法,可以使用 Class#getDeclaredMethod() 或 Class#getMethod() 方法获取当前方法的方法对象。然后可以使用 Method#getName() 方法获取方法名称。
// 获取当前类的方法对象
Method method = ().getDeclaredMethod("getCurrentMethodName");
// 获取方法名称
String methodName = ();
("当前方法名称:" + methodName);

使用 Exception

最后,还可以使用 类来获取当前方法名称。当抛出异常时,可以通过 Exception#getStackTrace() 方法访问堆栈跟踪。然后可以遍历堆栈跟踪以找到当前方法。
try {
// 抛出异常
throw new Exception();
} catch (Exception e) {
// 获取异常的堆栈跟踪
StackTraceElement[] stackTrace = ();
// 遍历堆栈跟踪并找到当前方法
for (StackTraceElement element : stackTrace) {
if (().equals("getCurrentMethodName")) {
("当前方法名称:" + ());
break;
}
}
}


本文讨论了在 Java 中获取当前方法名称的不同方法。这些方法各有优缺点,具体使用哪种方法取决于具体情况。

2024-11-13


上一篇:Java 中的方法重载

下一篇:Java 数据库表显示指南