是否可以编写一个可以创建任何指定类型的实例的方法?

我认为Java泛型应有所帮助,因此可能是这样的:

    public <U> U getObject(Class klass){
        //...
    }

有人可以帮我吗?

最佳答案

 public <U> U genericFactory(Constructor<U> classConstructor, Object..args)
  throws
   InstantiationException,
   IllegalAccessException,
   IllegalArgumentException,
   InvocationTargetException {
     return classConstructor.newInstance(args);
 }

您可以通过Class<U>方法从getConstructors对象获取构造函数。通过构造函数本身,您可以获得有关参数的信息,因此在该工厂之外需要一些额外的代码来适当地填充参数。

显然,这和彼得的回答一样丑陋。

10-04 11:04