ConstructorReflection.newInstance
я есть служебный метод, и когда из него удалена несоответствующая логика, упрощенный метод будет выглядеть следующим образом:
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;
}
Проблема в том, что еслиclazz
это внутренний класс, такой какFoo.Bar.class
тогдаnewInstance()
метод не будет работать, даже еслиBar
будет публичным, так как это броситjava.lang.InstantiationException
.
Есть ли способ динамически создавать экземпляры внутренних классов?