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

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); }
Mais ca ne va pas! Eclipse me dit qu'il ne peut pas convertir un objet en String.

Alors que

Code : Sélectionner tout - Visualiser dans une fenêtre à part
book.getFieldValue(bookFieldCode);
renvoie bien par exemple : getAuthor()
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