我正在寻找一种方法来获取调用我的完整方法签名。
例如:
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");
}
我实现 whoCallMe() 方法的方式我可以看到 run 方法调用了它,但是由于我 3 次重载我不能说哪一个是调用者,因为 whoCallme 只返回“run”作为方法名称。
你们知道我可以获得完整方法签名的其他方式吗 run(java.lang.String) ?