Ciąg Java CompareTo ()

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 Stringklasy.

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 stringwystępuje przed strargumentem w kolejności słownikowej
  • zwraca dodatnią liczbę całkowitą, jeśli stringwystępuje po strargumencie 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ą i str3.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 nulldo compareTo()metody, pojawi się błąd.

Powiązany samouczek: Java String równa się ()

Interesujące artykuły...