永发信息网

java 获取方法调用者 的参数

答案:5  悬赏:0  手机版
解决时间 2021-02-25 10:27
例如:public class A{
getMethod(){
System.out.print();
}
}

public class B {
test(int i){
new A().getMethod();
}

test(String i){
new A().getMethod();
}

}

我想在A中输出具体是哪个 test方法调用了getMethod(),应该怎么处理?
我已经可以获取到B和test了,但是test的参数我还区分不开,怎么区分开两个test?
有没有大神啊?这个问题如何解决?
最佳答案
区分是调用哪个test是由你调用的时候的参数决定的。
例如:调用时test(1),那么你调用的是
test(int i){
new A().getMethod();
}
这个方法
如果调用的时候是test("str")调用的就是
test(String i){
new A().getMethod();
}
了。
全部回答
可以在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("-----------------------------------"); } }
参数没用到,搞两个test似乎没意义,可以直接在test方法中就输出一下唉
getMethod字符串参数就好了。然后具体的test方法里面传入下参数。。比如int的那个test可以getMethod("intTest方法"+i);
分别在两个方法里面输出标志性的东西 不久可以了 如在test(int i)输出1 在test(Sting i)输出2 运行之后看一下输出1还是2
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
外白窠这个地址在什么地方,我要处理点事
考完摩托车驾驶证多久才能办小车驾驶证
孔庙、孔府、孔林合称为“三孔”,是我国也是
L开头表示结束的英语单词是什么
大摇大摆反义词
茉莉花茶为什么没有茉莉花味,买的茶叶也不便
(10分)如图是光合作用过程的图解,请据图回
与D调葫芦丝相对应的巴乌是什么调的???
康佳老遥控器写这KB-KKY315、、HAOTE0938、我
amd9350好还是i3 3200好
本人初中毕业,想学习汽车涂装技术,哪里可以
果丹皮哪个牌子好
三兴糕点怎么去啊,有知道地址的么
情人节适合什么样的人过
马自达六空调开内循环自动跳到外循环什么原因
推荐资讯
大连市住房公积金管理中心稽查支队金州大队在
(1)100张纸叠在一起厚1.15cm,平均每 张纸厚多
2010年承包土地终身转让有村主任签名无公章有
什么软件拼图没有边框
鲁迅作品中藤野先生是教什么的?()
联想手机系统异常
什么型号的主板好
求一张遗失的记忆修改图
哥瑞和锋范跑高速哪个好
急求一本小说,是以前《仙度瑞拉》上面的。
大富源餐馆地址有知道的么?有点事想过去
鞍山哪有卖望远镜的
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?