当我使用java反射检查类中方法的参数java.math.BigDecimal
并java.lang.String
isPrimitive()
返回false时。是的,它们不是原始的,而是i want to differnciate between user defined class and these java class
Class[] parameterTypes = method2.getParameterTypes();
for (Class class1 : parameterTypes) { // check the parameter type and put them in to a ArrayList
methodParams = new MethodParams();
strClassNameToFix = class1.getName();
strClassname =strClassNameToFix.replaceAll("\\[L", "").replaceAll("\\;","");
methodParams.setDataType(strClassname);
if(class1.isArray()){
methodParams.setArray(true);
}
if(class1.isPrimitive()){
methodParams.setPrimitive(true);
}
tempParamsList.add(methodParams);
}
基于上面的代码,我将 true 设置为 falsemethodParams.setPrimitive(true);
我已经这样做了,因为在我的情况下,我得到用户定义的对象的情况很少com.hexgen.ro.request.CreateOrderRO
那么如何设置呢?
也使用反射我得到类名,在其中声明的方法和方法的参数类型。
但是如果我声明了如下方法,我无法获得参数名称:
class test{
public String testMethod(int a, String b){
return "test";
}
}
在上面的代码中,我能够得到以下信息
Class name : test
Method name : testMethod
Arguments Type : int and String
但是i also want to get int a and String b
参数的类型以及声明的变量名
这个怎么做。
请帮我完成这件事。
此致