Android examples for java.lang.reflect:Constructor
Create new Instance, get constructor by type, invoke constructor
import java.lang.reflect.Constructor; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.lang.reflect.Modifier; import java.util.ArrayList; import java.util.Collections; import java.util.List; public class Main{ @SuppressWarnings("unchecked") /**//from w w w. j av a 2 s . c o m * Creates a new instance of the passed class * @param className * - the full qualified name of the class to be initialized * @param paramTypes * - optional parameter types for the constructor * @param paramValues * - optional parameter values for the constructor * @return * - the new instance * * @throws ReflectionException */ public static <T> T newInstance(String className, Class<?>[] paramTypes, Object... paramValues) throws ReflectionException { if (paramTypes.length != paramValues.length) { throw new ReflectionException( "parameterTypes and parameterValues must have the same length"); } Class<?> clazz; try { clazz = Class.forName(className); } catch (ClassNotFoundException e) { throw new ReflectionException(e); } catch (ExceptionInInitializerError e) { throw new ReflectionException(e); } Constructor<?> ctor; try { ctor = clazz.getConstructor(paramTypes); } catch (SecurityException e) { throw new ReflectionException(e); } catch (NoSuchMethodException e) { throw new ReflectionException(e); } try { return (T) ctor.newInstance(paramValues); } catch (IllegalArgumentException e) { throw new ReflectionException(e); } catch (InstantiationException e) { throw new ReflectionException(e); } catch (IllegalAccessException e) { throw new ReflectionException(e); } catch (InvocationTargetException e) { throw new ReflectionException(e); } } }