compareTo

compareTo是按字典顺序比较两个字符串。该比较基于字符串中各个字符的 Unicode 值。

int value=str1.compareTo(str2);
当str1小于str2时,返回小于0的值,当str1与str2相同时,返回0,当str1大于str2时,返回大于0的值。

具体的比较分2种情况,如下:

情况1.当一个字符串是另一个字符串前缀时,比较的是两个字符串长度的差异
    int value="abc".compareTo("abcde"); //返回-2  比较的是字符串长度 
   int value="abcdfg".compareTo("abc"); //返回3   比较的是字符串长度 


情况2.当一个字符串不是另一个字符串前缀时,比较的是从左边起的第一个差异位置的unicode的差值
比如:
例1
  "abcd".compareTo("aecb");
   从左边数,第一个差异位置的Unicode之差,也就是(int)'b'-(int)'e'的值

例2:
   "abcd".compareTo("a汉字ecb");
    (int)'b'-(int)'汉';//返回值等于上面的"abcd".compareTo("a汉字ecb");

例3:
   "abc".compareTo("拼音abc");
    (int)'a'-(int)'拼';//返回值等于上面的 "abc".compareTo("拼音abc");

猜你喜欢

转载自mytdyhm123456.iteye.com/blog/2344013