когда я проверяю параметр метода, который находится в классе, использующем отражение 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 или false methodParams.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
тип аргумента, а также объявленное имя переменной
Как это сделать.
Пожалуйста, помогите мне сделать это.
Наилучшие пожелания