在java編程中,我們會偶爾遇到字符串大小比較的問題,compareTo()方法很簡單就實現這種功能。該方法用於判斷一個字符串是大於、等於還是小於另一個字符串。判斷字符串大小的依據是根據它們在字典中的順序決定的。
語法:Str1.compareTo(Str2);
其返回的是一個int類型值。若Str1等於參數字符串Str2字符串,則返回0;若該Str1按字典順序小於參數字符串Str2,則返回值小於0;若Str1按字典順序大於參數字符串Str2,則返回值大於0。
java中的compareto方法,返回參與比較的前後兩個字符串的asc碼的差值,看下面一組代碼
String a="a",b="b";
System.out.println(a.compareto.b);
則輸出-1;
若a="a",b="a"則輸出0;
若a="b",b="a"則輸出1;
單個字符這樣比較,若字符串比較長呢??
若a="ab",b="b",則輸出-1;
若a="abcdef",b="b"則輸出-1;
也就是說,如果兩個字符串首字母不同,則該方法返回首字母的asc碼的差值;
如果首字母相同呢??
若a="ab",b="a",輸出1;
若a="abcdef",b="a"輸出5;
若a="abcdef",b="abc"輸出3;
若a="abcdef",b="ace"輸出-1;
即參與比較的兩個字符串如果首字符相同,則比較下一個字符,直到有不同的爲止,返回該不同的字符的asc碼差值,如果兩個字符串不一樣長,可以參與比較的字符又完全一樣,則返回兩個字符串的長度差值