调用构造函数。
/* * NOTE: This is added by intellij IDE. Disregard this message if there is another copyright later in the file. * Copyright (C) 2014-2015 Will (n9Mtq4) Bresnahan * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ //package com.nowjava; //n o w j a v a . c o m - 时 代 Java 提 供 import java.lang.reflect.Constructor; public class Main { /** * Call constructor. * * @param clazz the class * @param classParams the class params * @param params the params * @return the object */ public static <E> E callConstructor(Class clazz, Class[] classParams, Object[] params) { try { Constructor c = clazz.getDeclaredConstructor(classParams); c.setAccessible(true); return (E) c.newInstance(params); } catch (Exception e) { e.printStackTrace(); return null; } } /** * Call constructor. * * @param clazz the class * @param params the params * @return the object */ /*来自 时 代 J a v a 公 众 号 - nowjava.com*/ public static <E> E callConstructor(Class clazz, Object... params) { return callConstructor(clazz, getClassParams(params), params); } /** * Get class params. * * @param params the params * @return the class [ ] */