nl_tokens: 按照ascii ( 字典 ) 顺序比较字符大小
pl_tokens: public static int compare ( String str1 , String str2 ) { //有一个为null的话按照非null的大处理 if ( str1 == null || str2 == null ) { return Integer . compare ( ( str1 == null ) ? 0 : 1 , ( str2 == null ) ? 0 : 1 ) ; } if ( str1 . length ( ) == 0 || str2 . length ( ) == 0 ) { return str1 . length ( ) - str2 . length ( ) ; } int res = 0 ; int position = 0 ; int maxComparePosition = Math . <mask> ( str1 . length ( ) , str2 . length ( ) ) ; while ( position < maxComparePosition ) { char ch1 = str1 . charAt ( position ) ; char ch2 = str2 . charAt ( position ) ; if ( ch1 == ch2 ) { position ++ ; continue ; } //不相等的话返回差值,代表字符串大小 res = ch1 - ch2 ; break ; } //如果最后比较结果是相等的话,说明比较长度内的字符串相等,需要比较字符串长度 return res == 0 ? ( str1 . length ( ) - str2 . length ( ) ) : res ; }