What type does the class file descriptor at the end of "[]" represent in java

if(clazz != null) {
            return clazz;
        } else {
            Class ex;
            String clToUse1;
            if(name.endsWith("[]")) {  //[]
                clToUse1 = name.substring(0, name.length() - "[]".length());
                ex = forName(clToUse1, classLoader);
                return Array.newInstance(ex, 0).getClass();
            } else if(name.startsWith("[L") && name.endsWith(";")) {
                clToUse1 = name.substring("[L".length(), name.length() - 1);
                ex = forName(clToUse1, classLoader);
                return Array.newInstance(ex, 0).getClass();
            } else if(name.startsWith("[")) {
                clToUse1 = name.substring("[".length());
                ex = forName(clToUse1, classLoader);
                return Array.newInstance(ex, 0).getClass();
            } else {
                ClassLoader clToUse = classLoader;
                if(classLoader == null) {
                    clToUse = getDefaultClassLoader();
                }

                try {
                    return clToUse != null?clToUse.loadClass(name):Class.forName(name);
                } catch (ClassNotFoundException var9) {
                    int lastDotIndex = name.lastIndexOf(46);
                    if(lastDotIndex != -1) {
                        String innerClassName = name.substring(0, lastDotIndex) + "$" + name.substring(lastDotIndex + 1);

                        try {
                            return clToUse != null?clToUse.loadClass(innerClassName):Class.forName(innerClassName);
                        } catch (ClassNotFoundException var8) {
                            ;
                        }
                    }

                    throw var9;
                }
            }
        }
Mar.21,2021

 public String getCanonicalName() {
        if (isArray()) {
            String canonicalName = getComponentType().getCanonicalName();
            if (canonicalName != null)
                return canonicalName + "[]";
            else
                return null;
        }
        if (isLocalOrAnonymousClass())
            return null;
        Class<?> enclosingClass = getEnclosingClass();
        if (enclosingClass == null) { // top level class
            return getName();
        } else {
            String enclosingName = enclosingClass.getCanonicalName();
            if (enclosingName == null)
                return null;
            return enclosingName + "." + getSimpleName();
        }
    }
The Class object of the

array calls the getCanonicalName method, which returns the canonical name of the underlying class defined in Java Language Specification, ending in []

.
Menu