我想在我的方法内部编写一个代码,打印哪个方法/类调用了它。
(我的假设是除了我的方法我不能改变任何东西..)
其他编程语言呢?
编辑: 谢谢大家,JavaScript 怎么样? Python? C++?
最佳答案
这是 Java 特有的。
您可以使用Thread.currentThread()。
getStackTrace()
.这将返回一个数组 StackTraceElements
.
数组中的第二个元素将是调用方法。
例子:
public void methodThatPrintsCaller() {
StackTraceElement elem = Thread.currentThread.getStackTrace()[2];
System.out.println(elem);
// rest of you code
}
关于Java 或任何其他语言 : Which method/class invoked mine?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3468101/