J'ai un bean dont les propriétés sont accessibles par réflexion. Je reçois les noms de propriété sous forme de chaîne. Les haricots ont des méthodes getter pour leurs champs privés.getDeclaredField (String) par rapport à getMethod (String) pour les champs privés dans un bean
Je reçois actuellement le champ en utilisant getDeclaredField(fieldName)
, le rendant accessible en utilisant setAccessible(true)
, puis en récupérant sa valeur en utilisant get
. Une autre façon de s'y prendre serait de mettre en majuscule le nom du champ et d'ajouter get
à l'avant de celui-ci, puis obtenir la méthode par ce nom de la classe et finalement invoquer la méthode pour obtenir la valeur du champ privé .
Quelle est la meilleure solution?
EDIT
Peut-être que je devrais expliquer ce que je veux dire par « mieux » ... Par « mieux », je veux dire dans le sens des meilleures pratiques. Ou, s'il y a des mises en garde subtiles ou des différences.
Merci d'avoir mentionné 'BeanUtils'. Je ne savais pas à ce sujet. Ma prochaine question allait être de savoir s'il y a des bibliothèques qui font cela. Je ne voulais pas réinventer la roue. :) –
Accepter cette réponse car elle répond directement à ma question initiale. –
De rien et merci. –