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 String
tří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
string
přijde předstr
argument v pořadí slovníku - vrátí kladné celé číslo, pokud
string
přijde zastr
argumentem 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
null
kcompareTo()
metodě, dostanete chybu.
Související výukový program: Java String equals ()