JAVA字串比較

weixin_34148340發表於2016-11-01

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

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)

相關文章