理解String的compareTo()方法返回值

weixin_34041003發表於2018-07-23

compareTo()的返回值是整型,它是先比較對應字元的大小(ASCII碼順序),

如果第一個字元和引數的第一個字元不等,結束比較,返回他們之間的差值。

如果第一個字元和引數的第一個字元相等,則以第二個字元和引數的第二個字元作比較,

以此類推,直至比較的字元或被比較的字元有一方全比較完,這時就比較字元的長度。

我們可以通過閱讀原始碼加深對compareTo()的理解:


compareTo()方法

        如果這個字串是等引數字串那麼返回值0,如果這個字串是按字典順序小於字串引數那麼返回小於0的值,如果此字串是按字典順序大於字串引數那麼返回一個大於0的值


舉例:

String s1 = "hello";
String s2 = "hello";
String s3 = "abc";
String s4 = "xyz";
System.out.println(s1.compareTo(s2));  //0;
System.out.println(s1.compareTo(s3));  //7;      h為104,a為97,差為7
System.out.println(s1.compareTo(s4));  //-16;  h為104,x為120,差為-16


附:ASCII碼錶


相關文章