Java或任何其他语言:哪个方法/类调用了我的?
2022-09-04 06:27:30
我想在我的方法内部编写一个代码,用于打印哪个方法/类调用了它。
(我的假设是,除了我的方法,我不能改变任何东西。
其他编程语言呢?
编辑:谢谢你们,JavaScript怎么样?蟒?C++?
我想在我的方法内部编写一个代码,用于打印哪个方法/类调用了它。
(我的假设是,除了我的方法,我不能改变任何东西。
其他编程语言呢?
编辑:谢谢你们,JavaScript怎么样?蟒?C++?
这是Java所特有的。
你可以使用 getStackTrace()。
。这将返回一个 StackTraceElements 数组
。Thread.currentThread().
数组中的第二个元素将是调用方法。
例:
public void methodThatPrintsCaller() {
StackTraceElement elem = Thread.currentThread.getStackTrace()[2];
System.out.println(elem);
// rest of you code
}