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