Metoda Java String compareTo () porównuje dwa ciągi leksykograficznie (w kolejności słownikowej). Porównanie jest oparte na wartości Unicode każdego znaku w łańcuchach.
Składnia compareTo()
metody to:
string.compareTo(String str)
Tutaj string jest obiektem String
klasy.
compareTo () Parametry
compareTo()
Sposób przyjmuje jeden parametr.
- str - ciąg do porównania
CompareTo () Wartość zwracana
- zwraca 0, jeśli ciągi są równe
- zwraca ujemną liczbę całkowitą, jeśli
string
występuje przedstr
argumentem w kolejności słownikowej - zwraca dodatnią liczbę całkowitą, jeśli
string
występuje postr
argumencie w kolejności słownikowej
Przykład: ciąg znaków w języku Java compareTo ()
class Main ( public static void main(String() args) ( String str1 = "Learn Java"; String str2 = "Learn Java"; String str3 = "Learn Kolin"; int result; // comparing str1 with str2 result = str1.compareTo(str2); System.out.println(result); // 0 // comparing str1 with str3 result = str1.compareTo(str3); System.out.println(result); // -1 // comparing str3 with str1 result = str3.compareTo(str1); System.out.println(result); // 1 ) )
Tutaj,
- słowo1 i słowo2 są równe. W związku z tym
str1.compareTo(str2)
zwraca 0. - str1 występuje przed str3 w porządku słownikowym. W związku z tym
str1.compareTo(str3)
zwraca wartość ujemną istr3.compareTo(str1)
zwraca dodatnią.
Przykład 2: Sprawdź, czy dwa ciągi są równe
class Main ( public static void main(String() args) ( String str1 = "Learn Python"; String str2 = "Learn Java"; // if str1 and str2 are equal, the result is 0 if (str1.compareTo(str2) == 0) ( System.out.println("str1 and str2 are equal"); ) else ( System.out.println("str1 and str2 are not equal"); ) ) )
Wynik
str1 i str2 nie są równe
compareTo()
Metoda bierze liter (małe i wielkie litery) pod uwagę.
Przykład 3: compareTo () With Case
class Main ( public static void main(String() args) ( String str1 = "Learn Java"; String str2 = "learn Java"; int result; // comparing str1 with str2 result = str1.compareTo(str2); System.out.println(result); // -32 ) )
W "Learn Java"
porównaniu z "learn Java"
nie otrzymujemy 0. Dzieje się tak, ponieważ compareTo()
bierze się pod uwagę wielkość liter.
Uwagi:
- Jeśli chcesz porównać dwa ciągi znaków, ignorując różnice w wielkości liter, użyj metody Java String compareToIgnoreCase ().
- Jeśli przejdziesz
null
docompareTo()
metody, pojawi się błąd.
Powiązany samouczek: Java String równa się ()