У меня есть метод утилиты, и когда ненужная логика удаляется из него, упрощенный метод будет выглядеть так:
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.
Есть ли способ динамически создавать внутренние классы?