有没有可能知道哪个方法动态调用了另一个方法?
如下所示:
class a {
public void one(){
System.out.println(methodWhoCallsVoidOne().getName());
}
public void two(){
this.one();
}
}
发布于 2010-12-04 06:27:58
如果不是通过创建异常并从中提取堆栈跟踪,就不会这样做。
我会问你为什么要这么做?在过去,当人们问这个问题时,它几乎总是某个地方糟糕设计的迹象。
发布于 2010-12-04 06:30:13
或者,您可以使用Thread.currentThread().getStackTrace()
发布于 2010-12-04 06:28:40
你可以得到一个堆栈跟踪:
new Throwable().getStackTrace()
它返回来自第一个调用方的所有调用方的数组。
https://stackoverflow.com/questions/4350413
复制相似问题