C'est la première fois que j'utilise la réflexion et que je ne sais pas quelle erreur je fais dans l'instanciation du constructeur protégé. Voici mon code pour instancier un constructeur de JsonProcessingException.NoSuchMethodException lors de l'utilisation de la réflexion pour instancier un constructeur protégé
getDeclaredConstructor provoque NoSuchMethodException, bien que cette classe d'exception ait un constructeur protégé avec un, deux et trois paramètres.
final Constructor<JsonProcessingException> constructor =
JsonProcessingException.class
.getDeclaredConstructor(Object.class, Object.class);
constructor.setAccessible(true);
Mon Assomption: J'ai lu que nous pouvons instancier constructeur privé utilisant la réflexion donc je suppose proteted peut également être instancié.
ne passe pas Object.class une manière générique d'obtenir tout constructeur avec seul argument? –
@Vishwanathgowdak non (sauf si le type d'argument est vraiment et 'Object'). vous devez connaître les types d'arguments. Si vous avez besoin d'une correspondance moins stricte, vous devez parcourir 'getDeclaredConstructors()' pour trouver le constructeur qui convient – vsminkov