Alors le titre est très peu clair mais je n'ai pas trouvé comment exprimer mon soucis autrement !
J'ai donc un projet à faire! J'ai reçu du code, certaines méthode doivent et peuvent être utilisées pour complété le reste du code ( à faire par nous même donc).
Et ici je suis en train de réaliser une méthode de recherche dans une arraylist ( je suis pas sur que l'utilité soit importante)
La méthode fonctionne mais au cas par cas! Donc plein de "if" en fonction de ce qu'elle reçoit, ce qui reviens quasiment à faire plusieurs méthode! Mon but maintenant est de généraliser cette méthode!
Donc elle reçoit en paramètre un entier ( fieldCode) qui lui indique le type de recherche et un string à trouver!
Dans l'état actuel des choses "j'analyse" le fieldCode pour qu'il sache ce qu'il recherche. MAIS je me suis rendu compte que avec ce fieldCode je disposait d'une méthode qui me renvoyait un string du genre:
- getAuthor()
- getTitle()
- ect
Je me dis parfait, ça c'est la clef de ma généralisation! Ni une ni deux je me lance dans l'écriture de mon code
Mais ca ne va pas! Eclipse me dit qu'il ne peut pas convertir un objet en String.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 String s = book.getFieldValue(bookFieldCode); if (s.contains(value)) {resultList.add(book); }
Alors que
renvoie bien par exemple : getAuthor()
Code : Sélectionner tout - Visualiser dans une fenêtre à part book.getFieldValue(bookFieldCode);
J'ai testé avec des println...
Alors je me dis OUI MAIS je dois ajouter un "book." devant, pour qu'il fasse book.getAuthor().
Mais ca ne marche pas non plus :p ( bon ok ce coup là je l'ai essayer sans trop de conviction)
Mais donc vous l'aurez compris le but est qu'il fasse
book.getCequifaut(avec ce foutu fieldCode);
Et je sens bien que la clef est la mais je l'exploite mal je pense.
Merci d'avance
Partager