Spring源码阅读ClassUtils里的几个常量值【有趣的】

看aop部分的代码的时候,看到spring判断调用ClassUtilsisCglibProxyClass方法判断中,有个判断类名的方法:java

className.contains(CGLIB_CLASS_SEPARATOR)

而后就看了一眼常量值,很是有趣。spring

// "java.lang.String[]" style arrays
	/** Suffix for array class names: "[]" */
	public static final String ARRAY_SUFFIX = "[]";

	// "[[I" or "[[Ljava.lang.String;" style arrays
	/** Prefix for internal array class names: "[" */
	private static final String INTERNAL_ARRAY_PREFIX = "[";

	// "[Ljava.lang.String;" style arrays
	/** Prefix for internal non-primitive array class names: "[L" */
	private static final String NON_PRIMITIVE_ARRAY_PREFIX = "[L";

	/** The package separator character '.' */
	private static final char PACKAGE_SEPARATOR = '.';

	// 这个就是内部类啊~内部类的间隔符
	/** The inner class separator character '$' */
	private static final char INNER_CLASS_SEPARATOR = '$';

	/** The CGLIB class separator character "$$" */
	public static final String CGLIB_CLASS_SEPARATOR = "$$";

	/** The ".class" file suffix */
	public static final String CLASS_FILE_SUFFIX = ".class";

内部类的间隔符 ==>ide

Collections.sort(list, new Comparator<TabBean>(){
                        @Override
                        public int compare(TabBean o1, TabBean o2) {
                            return o1.getSort() - o2.getSort();
                        }
                    });

class InnerClass {}
	
	static class StaticInnerClass {}
	
	public class PublicInnerClass {}

	public static class PublicInnerStaticClass {}

相关文章
相关标签/搜索