Java tutorial
//package com.java2s; //License from project: Apache License import java.lang.reflect.Array; import java.lang.reflect.Constructor; import java.lang.reflect.InvocationTargetException; public class Main { public static Object newArray(Class<?> claxx, int size) { return Array.newInstance(claxx, size); } public static <T> T newInstance(Class<T> claxx) throws IllegalAccessException, InvocationTargetException, InstantiationException { Constructor<?>[] cons = claxx.getDeclaredConstructors(); for (Constructor<?> c : cons) { Class[] cls = c.getParameterTypes(); if (cls.length == 0) { c.setAccessible(true); return (T) c.newInstance(); } else { Object[] objs = new Object[cls.length]; for (int i = 0; i < cls.length; i++) { objs[i] = getDefaultPrimiticeValue(cls[i]); } c.setAccessible(true); return (T) c.newInstance(objs); } } return null; } public static Object getDefaultPrimiticeValue(Class clazz) { if (clazz.isPrimitive()) { return clazz == boolean.class ? false : 0; } return null; } }