什麼是 Java StringcompareTo() 方法?
如果兩個字串按字典順序相等,則java 字串類別的compareTo()方法傳回0 值。如果比較的字串按字典順序較大,則傳回正值,否則傳回負值。因此Java字串compareTo()方法用於比較兩個字串。此方法始終使用字串中每個字元的unicode值來比較它們。在比較字串時,如果其中任何一個為空,則始終傳回字串的長度。如果任何字串為空,則可能會出現兩種情況。如果第一個字串為空,則傳回負值,否則傳回正值。Java string.compareTo()方法預設區分大小寫,但我們可以使用 Java String類別的compareToIgnoreCase()方法在比較過程中忽略大小寫。如上所述,此方法也傳回負整數、0 或正整數。句法
public int compareTo(string str)
public int compareTo(object obj)
參數
Java 字串compareTo()方法接收字串或物件作為參數,如上面的語法所示。退貨
- 如果兩者按字典順序相等,則傳回 0。
- 如果比較的字串或物件按字典順序較大,則傳回正整數。
- 如果比較的其中一個按字典順序較小,則傳回負整數。
例外情況
CompareTo ()方法傳回 2 個異常。- ClassCastException,如果物件無法比較則傳回此異常。
- NullPointerException,如果字串為 null,則拋出 NullPointerException 。
Java StringcompareTo() 方法範例
class Main {
public static void main(String[] args) {
// declaring strings to be used in this example for Java string compareTo() method
String str = "Java compareTo() method example";
String str1 = "Java compareTo() method example";
String str2 = "this is Java compareTo() method example";
String str3 = "Java CompareTo() Method Example";
String str4 = "a Java compareTo() method example";
String str5 = new String("Java compareTo() method example");
// comparing the str and str1 strings
System.out.println(str.compareTo(str1));
// comparing the str and str2 strings
System.out.println(str.compareTo(str2));
// comparing the str and str3 strings
System.out.println(str.compareTo(str3));
// comparing the str and str4 strings
System.out.println(str.compareTo(str4));
// comparing the str string and str5 string object
System.out.println(str.compareTo(str5));
}
}
輸出
0 -42 74 -23 0
我們知道str和str1字串按字典順序相等,因此傳回 0。在比較str和str2時,它會傳回負 42 值,因為比較的字串str會依字典順序較小,因此它是負值,並且基於unicode值t char 和J char相差 42,因此傳回 -42 值。對於其餘部分,您可以查看結果以更好地理解此方法。
空字串的範例
public class Main{
public static void main(String args[]){
String str="compareTo()";
// declaring an empty string
String str1="";
String str2="method";
System.out.println(str.compareTo(str1));
System.out.println(str1.compareTo(str2));
}
}
輸出
11 -6
忽略大寫的範例
public class Main{
public static void main(String args[]){
String str="compareTo()";
// declaring the same string with uppercase letters
String str1="COMPARETO()";
System.out.println(str.compareTo(str1));
System.out.println(str.compareToIgnoreCase(str1));
}
}
輸出
32 0
GO TO FULL VERSION