在 Java 中查找方法(反射)的调用方



我想在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 可能是最顶层的元素,而在其他元素中,它可能是
最底部的一个。这是要记住的重要事情。

有关更多详细信息,请参阅此处。

获取当前执行方法的名称

最新更新