java反射会用的请进,如何获得一个基本类型的类型。如int i=9;double j=5;通过这个数值,取得类型
详情publicclassT{publicvoidoperation(inti){}publicvoidoperation(booleanm){}}如何通过反射调用ope...
详情
public class T{
public void operation(int i){}
public void operation(boolean m){}
}
如何通过反射调用operation方法呢,无论传进来的值是什么
Class typ = class.forName("T");
object obj = 5;
Method me = typ.getMethod("operation", new Class[]{obj.getClass()});
最后一行获得不到方法,由于基本类型int和Integer不同
应该怎么才能,不然反射多台就实现不了 展开
public class T{
public void operation(int i){}
public void operation(boolean m){}
}
如何通过反射调用operation方法呢,无论传进来的值是什么
Class typ = class.forName("T");
object obj = 5;
Method me = typ.getMethod("operation", new Class[]{obj.getClass()});
最后一行获得不到方法,由于基本类型int和Integer不同
应该怎么才能,不然反射多台就实现不了 展开
1个回答
展开全部
你可以这样试试:
Class typ = Class.forName("T");
Method me = null;
try {
me = typ.getMethod("operation", new Class[]{Integer.TYPE});
} catch (NoSuchMethodException ex) {
try {
me = typ.getMethod("operation", new Class[]{Integer.class});
} catch (NoSuchMethodException ex1) {
ex1.printStackTrace();
}
}
System.out.print(me);
Class typ = Class.forName("T");
Method me = null;
try {
me = typ.getMethod("operation", new Class[]{Integer.TYPE});
} catch (NoSuchMethodException ex) {
try {
me = typ.getMethod("operation", new Class[]{Integer.class});
} catch (NoSuchMethodException ex1) {
ex1.printStackTrace();
}
}
System.out.print(me);
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询