一尘不染

Java如何使用stacktrace或反射找到方法的调用者?

java

我需要找到一个方法的调用者。是否可以使用stacktrace或反射?


阅读 733

收藏
2020-02-25

共1个答案

一尘不染

StackTraceElement[] stackTraceElements = Thread.currentThread().getStackTrace()

根据Javadocs:

数组的最后一个元素表示堆栈的底部,这是序列中最近的方法调用。

StackTraceElement有getClassName()getFileName()getLineNumber()
getMethodName()

你将不得不尝试确定所需的索引(可能是stackTraceElements[1][2])。

2020-02-25