Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/369.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java反射库,它有一个函数,可以为任何具有任何构造函数的类创建新实例_Java_Oop_Generics_Reflection - Fatal编程技术网

Java反射库,它有一个函数,可以为任何具有任何构造函数的类创建新实例

Java反射库,它有一个函数,可以为任何具有任何构造函数的类创建新实例,java,oop,generics,reflection,Java,Oop,Generics,Reflection,我正在寻找一个Java库,它提供这样一个函数, . 不想导入clojure.langapache commons beanutils: Object args[] = ...; Class<?> argTypes[] = ...; Object obj = ConstructorUtils.invokeConstructor(clazz, args, argTypes); Object obj = ConstructorUtils.invokeExactConstructor(cla

我正在寻找一个Java库,它提供这样一个函数,
. 不想导入clojure.lang

apache commons beanutils:

Object args[] = ...;
Class<?> argTypes[] = ...;
Object obj = ConstructorUtils.invokeConstructor(clazz, args, argTypes);
Object obj = ConstructorUtils.invokeExactConstructor(clazz, args, argTypes);

invokeConstructor和invokeExactConstructor之间的最大区别在于前者将找到与类型分配兼容的构造函数,而后者将只匹配您提供的确切参数类型。参见java.lang.Class.isAssignableFrom

@jtahlborn:我想知道在java中是否使用了标准版本。我总是可以复制代码,但我认为使用标准库是一种更干净的方法。酷!!谢谢,这正是我要找的。是的,这是个打字错误。我会修好的。