我无法理解以下代码:
Constructor<T>[] constructors = (Constructor<T>[]) clazz.getConstructors();
for(int i = 0; i < constructors.length; i++){
Constructor<T> constructor = constructors[i];
if (constructor.getParameterTypes().length>0){
T instanceObject = constructor.newInstance(new Object[constructor.getParameterTypes().length]);
break;
}
}
为清楚起见,省略try/catch
了其他内容。
我不明白这是如何工作的:T instanceObject = constructor.newInstance(new Object[constructor.getParameterTypes().length]);
它调用一个有参数的构造函数,但作为参数传递Object
?
这是如何运作的?传递Object
独立于实际的形式参数?