Bonjour,
je suis en train de développer une app dans laquel j'ai les deux méthodes suivantes mais en fait j'en ai une dizaine identiques:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 private boolean hasSegm(List<Reportparameters> repParams) { boolean hasIt = false; int i = 0; while (repParams!=null && !hasIt && repParams.size() > 0 && i < repParams.size()){ Reportparameters param = repParams.get(i); if (param.getHassegm()) hasIt = true; i++; } return hasIt; }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 private boolean hasIndustries(List<Reportparameters> repParams) { boolean hasIt = false; int i = 0; while (repParams!=null && !hasIt && repParams.size() > 0 && i < repParams.size()){ Reportparameters param = repParams.get(i); if (param.getHasindustry()) hasIt = true; i++; } return hasIt; }
comme on peut le remarquer la seule chose qui varie mis à part le nom de la méthode, c'est le nom de de la méthode qui est appelée à l'intérieur
à savoir param.getHassegm() dans la premiere et param.getHasindustry() dans la deuxième.
je me demande alors si il exite un moyen de faire une fonction générique qui prendrait un param supplémentaire qui serait le nom de la fonction qui sert de test
un truc du genre
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 private boolean hasIt(List<Reportparameters> repParams, <?> maFunctionDeTest) { boolean hasIt = false; int i = 0; while (repParams!=null && !hasIt && repParams.size() > 0 && i < repParams.size()){ Reportparameters param = repParams.get(i); if ( eval (maFunctionDeTest) on param ) hasIt = true; i++; } return hasIt; }
merci pour votre aide
Partager