作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我想在我的方法内部编写一个代码,打印哪个方法/类调用了它。
(我的假设是除了我的方法我不能改变任何东西..)
其他编程语言呢?
编辑: 谢谢大家,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/
我是一名优秀的程序员,十分优秀!