以前以为compareTo()比较的是ASCII码总和的大小原来不是compareTo()它是先比较对应字符的大小(ASCII码顺序)如果第一个字符和参数的第一个字符不等结束比较返回他们之间的 差值如果第一个字符和参数的第一个字符相等则以第二个字符和参数的第二个字符做比较以此类推直至比较的字符或被比较的字符有一方 全比较完这时就比较字符的长度 例: String s = abc; String s = abcd; String s = abcdfg; String s = bcdfg; String s = cdfg; Systemoutprintln( pareTo(s) ); // (前面相等s长度小) Systemoutprintln( pareTo(s) ); // (前面相等s长度小) Systemoutprintln( pareTo(s) ); // (a的ASCII码是的的ASCII码是所以返回) Systemoutprintln( pareTo(s) ); // (a的ASCII码是c的ASCII码是所以返回) |