ClassUtil { public static Class<?> getArrayClass(Class<?> componentType) { return getArrayClass(componentType, 1); }  static String getClassNameAsResource(String className); static Class<?> getPrimitiveType(String name); static Class<?> getPrimitiveType(Class<?> type); @SuppressWarnings("unchecked") static Class<T> getWrapperTypeIfPrimitive(Class<T> type); static T getPrimitiveDefaultValue(Class<T> type); static boolean isPrimitiveOrWrapper(Class<?> clazz); static Class<?> getArrayClass(Class<?> componentType); static Class<?> getArrayClass(Class<?> componentClass, int dimension); static Class<?> getArrayComponentType(Class<?> type); static boolean isInstance(Class<?> clazz, Object object); static boolean canInstatnce(Class<T> clazz); static List<Class<?>> getAllSuperclasses(Class<?> clazz); static Class<?>[] getAllSuperclassesAsArray(Class<?> clazz); static List<Class<?>> getAllInterfaces(Class<?> clazz); static Class<?>[] getAllInterfacesAsArray(Class<?> clazz); static Set<Class<?>> getAllInterfacesAsSet(Class<?> clazz, ClassLoader classLoader); static boolean isVisible(Class<?> clazz, ClassLoader classLoader); static boolean isCacheSafe(Class<?> clazz, ClassLoader classLoader); static boolean isInterfaceImpl(Class<?> thisClass, Class<?> targetInterface); static boolean isSubClass(Class<?> thisClass, Class<?> target); static boolean isAssignable(Class<?>[] classes, Class<?>[] fromClasses); static boolean isAssignable(Class<?> clazz, Class<?> fromClass); static String locateClass(Class<?> clazz); static String locateClass(String className); static String locateClass(String className, ClassLoader loader); static String getFriendlyClassNameForObject(Object object); static String getFriendlyClassName(Class<?> clazz); static String getFriendlyClassName(String javaClassName); static String getSimpleClassNameForObject(Object object); static String getSimpleClassNameForObject(Object object, boolean processInnerClass); static String getSimpleClassName(Class<?> clazz); static String getSimpleClassName(Class<?> clazz, boolean proccessInnerClass); static String getSimpleClassName(String javaClassName); static String getSimpleClassName(String javaClassName, boolean proccesInnerClass); static String getSimpleMethodSignature(Method method); static String getSimpleMethodSignature(Method method, boolean withClassName); static String getSimpleMethodSignature(Method method, boolean withModifiers, boolean withReturnType,
            boolean withClassName, boolean withExceptionType); static String getShortClassName(String className); static String getShortClassName(Class<?> clazz); static final char INNER_CLASS_SEPARATOR_CHAR; static final String INNER_CLASS_SEPARATOR; }
@Test public void getArrayClass() { try { ClassUtil.getArrayClass(int.class, -1); fail(); } catch (IllegalArgumentException e) { assertThat(e, TestUtil.exception("wrong dimension: -1")); } assertNull(ClassUtil.getArrayClass(null, 1)); assertEquals(int[].class, ClassUtil.getArrayClass(int.class)); assertEquals(int[][].class, ClassUtil.getArrayClass(int[].class)); assertEquals(Integer[].class, ClassUtil.getArrayClass(Integer.class)); assertEquals(Integer[][].class, ClassUtil.getArrayClass(Integer[].class)); assertEquals(int.class, ClassUtil.getArrayClass(int.class, 0)); assertEquals(int[].class, ClassUtil.getArrayClass(int.class, 1)); assertEquals(int[][].class, ClassUtil.getArrayClass(int.class, 2)); assertEquals(int[].class, ClassUtil.getArrayClass(int[].class, 0)); assertEquals(int[][].class, ClassUtil.getArrayClass(int[].class, 1)); assertEquals(int[][][].class, ClassUtil.getArrayClass(int[].class, 2)); assertEquals(String.class, ClassUtil.getArrayClass(String.class, 0)); assertEquals(String[].class, ClassUtil.getArrayClass(String.class, 1)); assertEquals(String[][].class, ClassUtil.getArrayClass(String.class, 2)); assertEquals(ClassUtilTest[].class, ClassUtil.getArrayClass(ClassUtilTest[].class, 0)); assertEquals(ClassUtilTest[][].class, ClassUtil.getArrayClass(ClassUtilTest[].class, 1)); assertEquals(ClassUtilTest[][][].class, ClassUtil.getArrayClass(ClassUtilTest[].class, 2)); }