我想在Java中恢复调用者的实例。这是我的代码
class A {
void methodA() {
B b = new B();
A a = b.methodB(); //needs to be the same instance ie "this"
}
}
class B {
A methodB() {
//Here the code (with reflection) I need
A a = getPreviousInstanceCaller();
return A
}
}
Java中是否存在一种方法?也许有反思?
你不需要为此进行反思。您需要这些方法之一。
http://docs.oracle.com/javase/7/docs/api/java/lang/Throwable.html#getStackTrace%28%29
http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html#getStackTrace%28%29
注意堆栈跟踪元素的顺序(0、1、2 等)
不同版本的 JDK 可能有所不同。某些版本中
的含义元素 0 可能是最顶层的元素,而在其他元素中,它可能是
最底部的一个。这是要记住的重要事情。
有关更多详细信息,请参阅此处。
获取当前执行方法的名称