【问题标题】:Creating an instance from MyClass.class with multiple parameters [duplicate]使用多个参数从 MyClass.class 创建一个实例 [重复]
【发布时间】:2015-09-22 10:45:37
【问题描述】:

我想创建一个 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

如何解决?

【问题讨论】:

  • 拜托!不要命名以大写字母开头的变量。使用firstObject 而不是FirstObject。它使它看起来像一个类。
  • 只是名称,但感谢您的提示。

标签: java object constructor instantiation


【解决方案1】:

NoSuchMethodException 是一个已检查的异常,因此您要么需要将 getConstructor() 调用包装在 try-catch 块中,要么声明此代码所在的方法为 throws 此异常。

try {
    Item.class.getConstructor(constructorArgs).newInstance(FirstObject, SecondObject);
} catch (NoSuchMethodException e) {
  // log the error
  e.printStackTrace();
}

【讨论】:

  • 谢谢,这解决了问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-11-30
  • 2013-01-03
  • 1970-01-01
  • 1970-01-01
  • 2020-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多