使用反射机制创建带构造参数的对象
private <T> T construct(
Class<T> clazz,
Class<?>[] parameterTypes,
Object[] parameterValues) throws Exception {
Constructor<T> cons = clazz.getDeclaredConstructor(parameterTypes);
return cons.newInstance(parameterValues);
}