我想创建一个Item.class实例。它需要两个对象作为构造函数参数。
First FirstObject = new First();
Second SecondObject = new Second();
Class[] constructorArgs = new Class[]{First.class,Second.class};
Item.class.getConstructor(constructorArgs).newInstance(FirstObject, SecondObject);
这似乎不起作用。我收到一个编译错误:
unhandled exception Java.Lang.NoSuchMethodException
如何解决?
答案 0 :(得分:2)
NoSuchMethodException
是一个已检查的异常,因此您需要将getConstructor()
调用包装在try-catch
块中,或者声明此代码为throws
此异常的方法。
try {
Item.class.getConstructor(constructorArgs).newInstance(FirstObject, SecondObject);
} catch (NoSuchMethodException e) {
// log the error
e.printStackTrace();
}