小编Mar*_*man的帖子

实例化内部类

我有一个实用工具方法,当从中删除不相关的逻辑时,简化的方法将如下所示:

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;
}
Run Code Online (Sandbox Code Playgroud)

问题是,如果clazz是一个内部类,如果是Foo.Bar.class,那么该newInstance()方法即使Bar是公开的也不会起作用,因为它会抛出一个java.lang.InstantiationException.

有没有办法动态实例化内部类?

java inner-classes

14
推荐指数
2
解决办法
1万
查看次数

标签 统计

inner-classes ×1

java ×1