0
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
}
}
입니까? 어쩌면 반성과 함께?
정적 메서드에서 메서드를 호출하면 어떻게 될까요? 'StackTraceElement' 클래스를 살펴보십시오. 호출 된 클래스를 찾을 수 있지만 인스턴스가 반드시 필요한 것은 아닙니다. –
stacktrace를 검사하여 첫 번째 '홉'에서 요소를 가져올 수 있습니다. 내가 아는 한 메서드 호출은 유지되는 무언가가 아니기 때문에 다른 해결책은 없다 (stacktrace 제외). –