Java String compareTo()方法按字典順序比較兩個字符串(按字典順序)。比較是基于字符串中每個字符的Unicode值。
compareTo()方法的語法為:
string.compareTo(String str)
compareTo()方法采用單個參數(shù)。
str - 要比較的字符串
如果字符串相等,則返回0
如果字符串按字典順序位于參數(shù)str之前,則返回負整數(shù)
如果字符串按字典順序位于參數(shù)str之前,則返回正整數(shù)
class Main { public static void main(String[] args) { String str1 = "Learn Java"; String str2 = "Learn Java"; String str3 = "Learn Kolin"; int result; //比較str1和str2 result = str1.compareTo(str2); System.out.println(result); // 0 //比較str1和str3 result = str1.compareTo(str3); System.out.println(result); // -1 //比較str3和str1 result = str3.compareTo(str1); System.out.println(result); // 1 } }
這里,
str1和str2相等。因此,str1.compareTo(str2) 返回0。
按字典順序,str1在str3之前。 因此,str1.compareTo(str3)返回負值,而str3.compareTo(str1)返回正值。
class Main { public static void main(String[] args) { String str1 = "Learn Python"; String str2 = "Learn Java"; //如果str1和str2相等,則結(jié)果為0 if (str1.compareTo(str2) == 0) { System.out.println("str1和str2相等"); } else { System.out.println("str1和str2不相等"); } } }
輸出結(jié)果
str1和str2不相等
compareTo()方法區(qū)分字母大小寫(大寫和小寫)。
class Main { public static void main(String[] args) { String str1 = "Learn Java"; String str2 = "learn Java"; int result; //比較str1和str2 result = str1.compareTo(str2); System.out.println(result); // -32 } }
當"Learn Java" 與 "learn Java"進行比較時,我們不會得到0。這是因為compareTo()會區(qū)分字母的大小寫。