Java String compareTo ()

Metoda Java String compareTo () porovnává dva řetězce lexikograficky (v pořadí slovníku). Porovnání je založeno na hodnotě Unicode každého znaku v řetězcích.

Syntaxe compareTo()metody je:

 string.compareTo(String str)

Zde je řetězec objektem Stringtřídy.

Parametry compareTo ()

compareTo()Metoda přebírá jeden parametr.

  • str - řetězec, který má být porovnán

Porovnat návratovou hodnotu ()

  • vrátí 0, pokud jsou řetězce stejné
  • vrátí záporné celé číslo, pokud stringpřijde před strargument v pořadí slovníku
  • vrátí kladné celé číslo, pokud stringpřijde za strargumentem v pořadí slovníku

Příklad: Java String 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 ) )

Tady,

  • str1 a str2 jsou stejné. Proto str1.compareTo(str2)vrací 0.
  • str1 přichází před str3 v pořadí slovníku. Proto se str1.compareTo(str3)vrací záporné a str3.compareTo(str1)vrací kladné.

Příklad 2: Zkontrolujte, zda jsou dva řetězce stejné

 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"); ) ) )

Výstup

 str1 a str2 nejsou stejné

compareTo()Metoda bere písmeno (velká a malá) v úvahu.

Příklad 3: compareTo () s případem

 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 ) )

Když "Learn Java"se porovná s "learn Java", nedostaneme 0. Je to proto, že compareTo()bere v úvahu velká a malá písmena.

Poznámky:

  • Pokud potřebujete porovnat dva řetězce ignorující případné rozdíly, použijte metodu Java String compareToIgnoreCase ().
  • Pokud předáte nullk compareTo()metodě, dostanete chybu.

Související výukový program: Java String equals ()

Zajímavé články...