Я использую отражение в Java.
Я узнаю тип параметра метода, который я передаю во время выполнения.Поэтому я выбираю значение параметра из файла в строковую переменную.
Так что теперь, если я узнаю, что тип параметра является целым числом, и если я передаю объект, содержащий строковое значение, я получаю
несоответствие типа аргумента java.lang.IllegalArgumentException: несоответствие типа аргумента
Class classDefinition = Class.forName("webservices."+objectName);
String methodName = set"+fieldNameAttay[i].substring(0,1)).toUpperCase()+fieldNameAttay[i].substring(1); Field f = classDefinition.getDeclaredField(fieldNameAttay[i]);
try
{
//argType = f.getType();
Method meth = classDefinition.getMethod(methodName,f.getType());
Object arg = new Object[]{fieldValueArray[i]}; //fieldValueArray[i] is always string array
meth.invoke(object, arg); //If f.getType is Integer this //throws ex
}
catch (Exception e)
{
System.err.println(e.getMessage());
e.printStackTrace();
}