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 {}

相關文章
相關標籤/搜索