Salut a tous,
j'ai plus ou moins un probleme que je ne sais pas resoudre "proprement".
Pour resumer, j'ai une appli qui va me filer un string qui contient toute la definition d'une methode (java.lang.reflect.Method)
ils ont fait un method.toString (et non pas method.getName() comme j'avais dit au debut) , ce qui me donne un truc du genre :
dans mon appli j'ai juste besoin de recuperer la partie
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 public abstract void le.package.de.la.classe.methode(java.lang.String)
et bien sur, il ne m'est pas possible de modifier la string qui est envoyé
Code : Sélectionner tout - Visualiser dans une fenêtre à part le.package.de.la.classe.methode
Pour le moment, l'algo que j'ai fait (qui marche, mais que je ne trouve pas propre) c'est:
-je coupe la string en fonction des espaces avec split()
-je teste chaque element s'ils font partie de la liste: public, private, protected, abstract, static, final, synchronized et native
(Liste qui contient les mots clé pouvant se trouver au debut, avant le type de retour)
Le premier element qui ne fait pas partie de cette liste, alors c'est le type de retour, donc forcement, le suivant, c'est le :
je peux ensuite le spliter par rapport a ( et prendre le premier element, et j'aurai mon :
Code : Sélectionner tout - Visualiser dans une fenêtre à part le.package.de.la.classe.methode(java.lang.String)
Code : Sélectionner tout - Visualiser dans une fenêtre à part le.package.de.la.classe.methode
cela marche, mais je ne trouve pas cela propre, et je ne pense pas qu'ils apprecient si je livre ca
je viens de penser que je peux faire autrement:
-spliter en fonction de ( pour recuperer le premier element
-spliter en fonction des espaces pour recuperer le dernier element:
Code : Sélectionner tout - Visualiser dans une fenêtre à part public abstract void le.package.de.la.classe.methode
plus simple, mais pas forcement plus propre.
Code : Sélectionner tout - Visualiser dans une fenêtre à part le.package.de.la.classe.methode
Vous en pensez quoi ?
vous avez une idée de comment faire ca plus proprement ?
j'avais cherché pour repasser le format String en objet de class Method, mais j'ai rien trouvé (comme on peut fait un Integer.parseInt)
Merci
mike
Partager