### Question:
ProxyUtils { public static String getJavaClassName(Class<?> clazz) { if (clazz.isArray()) { return getJavaClassName(clazz.getComponentType()) + "[]"; } return clazz.getName(); } private  ProxyUtils(); static Class<?>[] getAllInterfaces(Class<?> cls); static String getJavaClassName(Class<?> clazz); static Class<?> getWrapperClass(Class<?> primitiveType); static T nullValue(Class<T> type); static boolean isEqualsMethod(Method method); static boolean isHashCode(Method method); static ProxyFactory proxyFactory(); static final Object[] EMPTY_ARGUMENTS; static final Class<?>[] EMPTY_ARGUMENT_TYPES; }### Answer:
@Test public void testGetJavaClassName() throws Exception { assertEquals("java.lang.Object[]", ProxyUtils.getJavaClassName(Object[].class)); assertEquals("java.lang.Object[][]", ProxyUtils.getJavaClassName(Object[][].class)); assertEquals("java.lang.String[][][]", ProxyUtils.getJavaClassName(String[][][].class)); assertEquals("int", ProxyUtils.getJavaClassName(Integer.TYPE)); assertEquals("float", ProxyUtils.getJavaClassName(Float.TYPE)); assertEquals("long", ProxyUtils.getJavaClassName(Long.TYPE)); assertEquals("double", ProxyUtils.getJavaClassName(Double.TYPE)); assertEquals("short", ProxyUtils.getJavaClassName(Short.TYPE)); assertEquals("byte", ProxyUtils.getJavaClassName(Byte.TYPE)); assertEquals("char", ProxyUtils.getJavaClassName(Character.TYPE)); assertEquals("boolean", ProxyUtils.getJavaClassName(Boolean.TYPE)); }