Java Class New Instance newInstance(Class aClass, Object... args)

Here you can find the source of newInstance(Class aClass, Object... args)

Description

new Instance

License

Open Source License

Declaration

public static <T> T newInstance(Class<T> aClass, Object... args) 

Method Source Code

//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;
    }
}

Related

  1. newInstance(Class cls, Map, Constructor> cache)
  2. newInstance(Class componentType, int... dimensions)
  3. newInstance(Class entity)
  4. newInstance(Class theClass, Class expected)
  5. newInstance(Class interfaceDefinition, String className, ClassLoader classLoader)
  6. newInstance(Class arrayComponentClass, T value)
  7. newInstance(Class beanClass)
  8. newInstance(Class c)
  9. newInstance(Class c)