常用的三个比较函数 compareTo (string) ,compareToIgnoreCase(String) 及 compareTo(object string) ,它们的返回值是int类型

一、

compareTo() 的返回值是int, 它是先比较对应字符的大小(ASCII码顺序),a==b返回0,a>b返回正数,a<b返回负数。

1、如果字符串相等返回值0


2、如果第一个字符和参数的第一个字符不等,结束比较,返回他们之间的

差值(ascii码值)(负值前字符串的值小于后字符串,正值前字符串大于后字符串)


3、如果第一个字符和参数的第一个字符相等,则以第二个字符和参数的第二个字符做比较,以此类推,直至比较的字符或被比较的字符有一方全比较完,这时就比较字符的长度. 

例: 
String s1 = "abc"; 
String s2 = "abcd"; 
String s3 = "abcdfg"; 
String s4 = "1bcdfg"; 
String s5 = "cdfg"; 
System.out.println( s1.compareTo(s2) ); // -1 (前面相等,s1长度小1) 
System.out.println( s1.compareTo(s3) ); // -3 (前面相等,s1长度小3) 
System.out.println( s1.compareTo(s4) ); // 48 ("a"的ASCII码是97,"1"的的ASCII码是49,所以返回48) 
System.out.println( s1.compareTo(s5) ); // -2 ("a"的ASCII码是97,"c"的ASCII码是99,所以返回-2)

二、

compareToIgnoreCase(String)

使用方法同上,且忽略大小写


三、

compareToIgnoreCase(String)

public class StringCompareEmp{
   public static void main(String args[]){
      String str1 = "Hello World";
      String str2 = "hello world";
      Object objStr = str1;
 
      System.out.println(str1.compareTo(str2) );
      System.out.println(str1.compareToIgnoreCase(str2) );  //忽略大小写
      System.out.println(str1.compareTo(objStr.toString()));
   }
}

输出:

-32
0
0