如何反射性地构造函数,如果它的参数是Object ... objects
。Java |反射性地获取构造函数
我的构造函数:
public MyClass (Object ... objects)
{
if (! (objects == null))
{
if (objects.length > 0 && objects [ 0 ] instanceof Long)
{
setLatency ((Long) objects [ 0 ]) ;
}
}
}
如何到现在:
Class<?> clazz = Class.forName ("MyClass") ;
Constructor<?> clazzConstructor = clazz.getConstructor (Object [ ].class) ;
我尝试做:
Long latency = 1000L ;
MyClass myInstance = (MyClass) clazzConstructor.newInstance (latency) ;
我也得到 java.lang.IllegalArgumentException异常:参数类型不匹配
如果延迟== null,则一切正常。
如何'的newInstance(新的对象[] {}延迟)'? –
我试过了,但还是不行。 –
@Banthar它会工作,但是'newInstance()'本身就是可变参数。 – biziclop