java 获取方法调用者 的参数

发布网友 发布时间:2022-04-23 18:33

我来回答

5个回答

热心网友 时间:2023-09-20 00:57

区分是调用哪个test是由你调用的时候的参数决定的。
例如:调用时test(1),那么你调用的是
test(int i){
new A().getMethod();
}
这个方法
如果调用的时候是test("str")调用的就是
test(String i){
new A().getMethod();
}
了。

热心网友 时间:2023-09-20 00:57

分别在两个方法里面输出标志性的东西 不久可以了 如在test(int i)输出1 在test(Sting i)输出2 运行之后看一下输出1还是2

热心网友 时间:2023-09-20 00:58

getMethod字符串参数就好了。然后具体的test方法里面传入下参数。。比如int的那个test可以getMethod("intTest方法"+i);追问还是和最上面的朋友一样的问题
比如,我现在写了个公共的方法,我想在这个方法中统计有哪些类的什么方法调用了我写的这个方法,我不可能让别人调用的时候给把这些类名,方法名,参数表什么的给我 给我传递过来

追答。。。这个嘛,暂时不知道。坐等大神回答。

热心网友 时间:2023-09-20 00:58

可以在getMethod方法里面打印堆栈实现:
Throwable ex = new Throwable();
StackTraceElement[] stackElements = ex.getStackTrace();
if (stackElements != null) {
for (int i = 0; i < stackElements.length; i++) {
System.out.print(stackElements[i].getClassName()+"/t");
System.out.print(stackElements[i].getFileName()+"/t");
System.out.print(stackElements[i].getLineNumber()+"/t");
System.out.println(stackElements[i].getMethodName());
System.out.println("-----------------------------------");
}
}

热心网友 时间:2023-09-20 00:59

可以通过反射机制得到调用者的方法和参数。追问具体呢?

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com