Here you can find the source of newInstance(Class
public static <T> T newInstance(Class<T> aClass, Object... args)
//package com.java2s; /*//from w ww . ja va2s. co m * Xapp (pronounced Zap!), A automatic gui tool for Java. * Copyright (C) 2009 David Webber. All Rights Reserved. * * The contents of this file may be used under the terms of the GNU Lesser * General Public License Version 2.1 or later. * * Software distributed under the License is distributed on an "AS IS" basis, * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License * for the specific language governing rights and limitations under the * License. */ public class Main { public static <T> T newInstance(Class<T> aClass, Object... args) { try { return (T) aClass.getConstructor(typeArgs(args)).newInstance(args); } catch (Exception e) { throw new RuntimeException(e); } } private static <T> Class[] typeArgs(Object[] params) { Class[] paramTypes = new Class[params.length]; for (int i = 0; i < params.length; i++) { Object param = params[i]; paramTypes[i] = param.getClass(); } return paramTypes; } }