Apakah Kaedah Java String compareTo()?
Kaedah kelas rentetan java compareTo() mengembalikan nilai 0 jika kedua-dua rentetan adalah sama dari segi leksikografi. Jika rentetan yang dibandingkan lebih besar dari segi leksikografi maka nilai positif dikembalikan jika tidak nilai negatif dikembalikan. Jadi kaedah Java string compareTo() digunakan untuk membandingkan dua rentetan. Nilai unikod bagi setiap aksara dalam rentetan sentiasa digunakan oleh kaedah ini untuk membandingkannya. Semasa membandingkan rentetan, jika mana-mana daripadanya kosong, ia sentiasa mengembalikan panjang rentetan. Jika mana-mana rentetan kosong, maka dua senario boleh dimainkan. Jika rentetan pertama kosong maka ia mengembalikan nilai negatif, jika tidak ia mengembalikan nilai positif. Kaedah Java string.compareTo() secara lalai adalah sensitif huruf besar-besaran tetapi kita boleh menggunakan kaedah Java String class compareToIgnoreCase() untuk mengabaikan sensitiviti huruf besar-besaran semasa perbandingan. Kaedah ini juga mengembalikan negatif, 0, atau integer positif seperti yang diterangkan di atas.Sintaks
public int compareTo(string str)
public int compareTo(object obj)
Parameter
Kaedah Java string compareTo() menerima rentetan atau objek sebagai parameter seperti yang anda boleh lihat di atas dalam sintaks.Pulangan
- Ia mengembalikan 0 jika kedua-duanya sama dari segi leksikografi.
- Ia mengembalikan integer positif jika dibandingkan rentetan atau objek lebih besar dari segi leksikografi.
- Ia mengembalikan integer negatif jika salah satu daripada yang dibandingkan adalah lebih kecil dari segi leksikografi.
Pengecualian
Kaedah compareTo () mengembalikan 2 pengecualian.- ClassCastException , jika objek tidak dapat dibandingkan maka ia mengembalikan pengecualian ini.
- NullPointerException , jika rentetan adalah null maka NullPointerException dibuang.
Contoh Kaedah Java String compareTo().
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));
}
}
Pengeluaran
0 -42 74 -23 0
Seperti yang kita ketahui rentetan str dan str1 adalah sama dari segi leksikografis jadi ia mengembalikan 0. Semasa membandingkan str dan str2 ia mengembalikan nilai negatif 42 kerana rentetan str yang dibandingkan adalah lebih kecil dari segi leksikografi jadi ia adalah negatif dan berdasarkan nilai unicode t char dan J char mempunyai perbezaan 42, jadi nilai -42 dikembalikan. Untuk selebihnya anda boleh melihat hasilnya untuk lebih memahami kaedah ini.
Contoh Rentetan Kosong
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));
}
}
Pengeluaran
11 -6
Contoh IgnoreCase
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));
}
}
Pengeluaran
32 0
GO TO FULL VERSION