java - 我如何找出调用类?

标签 java

我如何找出哪个类/方法调用了实际方法?

最佳答案

您可以尝试创建异常以获取其堆栈跟踪。

Throwable t = new Throwable();
StackTraceElement[] stackTraceElements = t.getStackTrace();

现在 stackTraceElement[0] 包含当前方法的调用者。

但要注意(来自 Throwable.getStackTrace() ):

Some virtual machines may, under some circumstances, omit one or more stack frames from the stack trace. In the extreme case, a virtual machine that has no stack trace information concerning this throwable is permitted to return a zero-length array from this method. Generally speaking, the array returned by this method will contain one element for every frame that would be printed by printStackTrace.

关于java - 我如何找出调用类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1007268/

相关文章:

java - 使用通用接口(interface)进行类转换而不发出警告

java - 如何更改 JSplitPane 中分割栏的样式?

java - Eclipse:找不到类:javac1.7

java - 以编程方式断开连接后重新连接到 WiFi 网络

java - 使内存限制成为构建过程一部分的强大策略是什么?

java - SharedPreferences 不返回默认值

java - java中处理对象时如何使用map

java - 如果圆 c 与数组列表中的任何其他圆重叠,则返回 true

java - 如何使用 Selenium WebDriver 的 Assert 来检查登录是否成功?

java - 在扩展类中初始化