@Nullable
    public static String classToSignature(String className) {
        if (className == null) {
            return null;
        } else if (className.startsWith(Values.SIG_ARRAY_PREFIX)) {
            // convert the classname inside the array
            return Values.SIG_ARRAY_PREFIX + classToSignature(className.substring(Values.SIG_ARRAY_PREFIX.length()));
        } else if (PRIMITIVE_TYPES.contains(className) || className.endsWith(Values.SIG_QUALIFIED_CLASS_SUFFIX)) {
            return className.replace('.', '/');
        } else {
            String primitive = PRIMITIVE_NAME_TO_SIG.get(className);
            if (primitive != null) {
                return primitive;
            }

            return Values.SIG_QUALIFIED_CLASS_PREFIX + className.replace('.', '/') + Values.SIG_QUALIFIED_CLASS_SUFFIX_CHAR;
        }
    }
@ Nullable public static String classToSignature ( String className ) { if ( className == null ) { return null ; } else if ( className . startsWith ( Values . SIG_ARRAY_PREFIX ) ) { return Values . SIG_ARRAY_PREFIX + classToSignature ( className . substring ( Values . SIG_ARRAY_PREFIX . length ( ) ) ) ; } else if ( PRIMITIVE_TYPES . contains ( className ) || className . endsWith ( Values . SIG_QUALIFIED_CLASS_SUFFIX ) ) { return className . replace ( '.' , '/' ) ; } else { String primitive = PRIMITIVE_NAME_TO_SIG . get ( className ) ; if ( primitive != null ) { return primitive ; } return Values . SIG_QUALIFIED_CLASS_PREFIX + className . replace ( '.' , '/' ) + Values . SIG_QUALIFIED_CLASS_SUFFIX_CHAR ; } }
returns a slashed or dotted class name into a signature, like java/lang/String -- Ljava/lang/String; Primitives and arrays are accepted.

@param className
the class name to convert
@return the signature format of the class