I am looking for a Java library that provides a function like this, invokeConstructor. (don't want to import clojure.lang)
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
回答1:
apache commons-beanutils:
Object args[] = ...;
Class<?> argTypes[] = ...;
Object obj = ConstructorUtils.invokeConstructor(clazz, args, argTypes);
Object obj = ConstructorUtils.invokeExactConstructor(clazz, args, argTypes);
The big difference between "invokeConstructor" and "invokeExactConstructor" is that the former will find a type assignment compatible constuctor, while the latter will match only the exact argument types you've supplied. (see java.lang.Class.isAssignableFrom)