Bonjour,
j'utilise l'introspection pour lancer des méthodes settrer ,mais ça marche pas pour les setter qui ont en paramètre des types non primitifs.
voici un bout de mon codele message d'erreur est le suivant
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 final Method getterMethod = sourceClass.getMethod(getter, null); final Object resultGetter = getterMethod.invoke(currentSource, null); Class[] parametres = new Class[1]; parametres[0] = currentAttribute.getType(); final Method setterMethod = destinationClass.getMethod(setter, parametres); setterMethod.invoke(currentDestination, resultGetter); listOfDestinations.add((D)currentDestination);
java.lang.IllegalArgumentException: argument type mismatch
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.sensoredabmigration.application.Converter.convert(Converter.java:82)
at com.sensoredabmigration.application.Main.main(Main.java:141)
merci d'avance !
Partager