public <U> U genericFactory(Constructor<U> classConstructor, Object..args)
throws
InstantiationException,
IllegalAccessException,
IllegalArgumentException,
InvocationTargetException {
return classConstructor.newInstance(args);
}
Vous pouvez obtenir un constructeur à partir d'un Class<U>
par l'intermédiaire de l'objet getConstructors
méthode. Le constructeur lui-même permet d'obtenir des informations sur les arguments. Il est donc nécessaire d'ajouter du code en dehors de cette fabrique pour remplir les arguments de manière appropriée.
Évidemment, c'est tout aussi laid que la réponse de Pierre.