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ředstrargument v pořadí slovníku - vrátí kladné celé číslo, pokud
stringpřijde zastrargumentem 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é astr3.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
nullkcompareTo()metodě, dostanete chybu.
Související výukový program: Java String equals ()








