Java examples for Reflection:Constructor
Call constructor.
/*//from w w w . j a v a 2 s.c o m * 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.java2s; 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 */ 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 [ ] */ public static Class[] getClassParams(Object[] params) { Class[] classParams = new Class[params.length]; for (int i = 0; i < classParams.length; i++) { classParams[i] = params[i].getClass(); } return classParams; } }