나는 저를 부르는 완전한 방법 서명을 얻는 방법을 찾고 있습니다. 예를 들어저에게 전화 한 어떤 방법을 찾으십시오
:
public class Called {
public void whoCallMe() {
System.out.println("Caller Method: " + new Throwable().getStackTrace()[1].getMethodName());
}
}
public class Caller {
public static void run(int i) {
new Called().whoCallMe();
}
public static void run(String str) {
new Called().whoCallMe();
}
public static void run(boolean b) {
new Called().whoCallMe();
}
/** MAIN **/
public static void main(String[] args) {
run("hi");
}
내가 그 실행 방법이라고하지만 3 과부하 이후 발신자 원인이었다 하나 말할 수 없다 볼 수 있습니다 내가 whoCallMe() 메소드를 구현 한 방법 whoCallme 메서드 이름으로 "run"만 반환합니다.
여러분은 run (java.lang.String)과 같은 완전한 메소드 서명을 얻을 수있는 다른 방법을 알고 계십니까?
디버깅 API가 필요합니다. 바이트 코드 도구를 사용하여 줄 번호를 기반으로 메서드를 찾을 수도 있습니다. – biziclop
왜이 작업을 수행해야합니까? – Jeffrey
아마도 도움이 될 수 있습니다. http://stackoverflow.com/questions/421280/in-java-how-do-i-find-the-caller-of-a-method-using-stacktrace-or-reflection – SWoeste