Java String compareTo()方法按字典順序比較兩個(gè)字符串(按字典順序)。比較是基于字符串中每個(gè)字符的Unicode值。
compareTo()方法的語法為:
string.compareTo(String str)
compareTo()方法采用單個(gè)參數(shù)。
str - 要比較的字符串
如果字符串相等,則返回0
如果字符串按字典順序位于參數(shù)str之前,則返回負(fù)整數(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)返回負(fù)值,而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
}
}當(dāng)"Learn Java" 與 "learn Java"進(jìn)行比較時(shí),我們不會得到0。這是因?yàn)閏ompareTo()會區(qū)分字母的大小寫。