Bonjour. Voici mon probleme, avec un exemple simple:
Ma premiere recherche de methode se passe correctement, alors que la deuxieme lève une Exception "MethodNotFound". Ce n'est pas étonnant, cette méthode attend un paramètre de type "int" et non "Integer".
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 public class TestClass { public void afficheInt(int i) { System.out.println(i); } public void afficheInteger(Integer i) { afficheInt(i.intValue()); } } public class TrouverMethodes { public static void main(String[] args) { Class maClasseDeTest = TestClass.class; Class[] arguments = { Integer.class }; try { maClasseDeTest.getMethod("afficheInteger", arguments); System.out.println("methode trouvee"); } catch (Exception e) { System.out.println("probleme!"); } try { maClasseDeTest.getMethod("afficheInt", arguments); System.out.println("methode trouvee"); } catch (Exception e) { System.out.println("probleme!"); } } }
Seulement voilà, je dois absolument réussir à obtenir la méthode afficheInt de ma TestClass via un "getMethod". Ma question est donc: comment faire, puisque getMethod attend comme 2e argument un tableau de Class et que l'argument "int" attendu par afficheInt est une primitive.
(Note: pour ceux qui voudraient tester le code, il manque les "import", et mon tableau d'arguments n'est par typé car je travaille en java 1.4.2)
Merci d'avance pour toutes vos idées.
Partager