J'utilise des annotations pour définir dynamiquement les valeurs des champs dans les classes. Puisque je veux faire cela indépendamment du fait que ce soit public, protégé ou privé, je fais un appel setAccessible(true)
sur l'objet Field à chaque fois avant d'appeler la set()
méthode. Ma question est de savoir quel genre d'impact cet setAccessible()
appel a-t-il sur le terrain lui-même?
Plus précisément, disons qu'il s'agit d'un champ privé et que cet ensemble d'appels de code setAccessible(true)
. Si un autre endroit du code devait alors récupérer le même champ par réflexion, le champ serait-il déjà accessible? Ou les méthodes getDeclaredFields()
and getDeclaredField()
renvoient-elles à chaque fois de nouvelles instances d'un objet Field?
Je suppose qu'une autre façon de poser la question est de savoir si j'appelle setAccessible(true)
, à quel point est-il important de le remettre à sa valeur d'origine après avoir terminé?