J'ai une méthode d'utilité et lorsque la logique non pertinente est retirée de celle-ci, la méthode simplifiée ressemblerait à ceci:instanciation une classe interne
public static <A extends Foo> List<A> getFooList(Class<A> clazz) {
List<A> returnValue = new ArrayList<A>();
for(int i=0; i < 5; i++) {
A object = clazz.newInstance();
returnValue.add(object);
}
return returnValue;
}
Le problème est que si clazz
est une classe interne, comme Foo.Bar.class
, alors la méthode newInstance()
ne fonctionnera pas même si Bar
serait publique, car elle enverra un java.lang.InstantiationException
.
Existe-t-il un moyen d'instancier dynamiquement des classes internes?
Vous devez toujours vérifier si la classe intérieure n'est pas statique ... – Corin