Metóda Java String compareTo () porovnáva dva reťazce lexikograficky (v poradí slovníkov). Porovnanie je založené na hodnote Unicode každého znaku v reťazcoch.
Syntax compareTo()
metódy je:
string.compareTo(String str)
Reťazec je tu predmetom String
triedy.
parametre compareTo ()
compareTo()
Metóda preberá jeden parameter.
- str - reťazec, ktorý sa má porovnať
návratová hodnota compareTo ()
- vráti 0, ak sú reťazce rovnaké
- vráti záporné celé číslo, ak
string
je predstr
argumentom v poradí slovníkov - vráti kladné celé číslo, ak nasleduje
string
zastr
argumentom v poradí slovníkov
Prí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 ) )
Tu,
- str1 a str2 sú rovnaké. Preto
str1.compareTo(str2)
vráti 0. - str1 predchádza str3 v poradí slovníkov. Preto sa
str1.compareTo(str3)
vráti negatívny astr3.compareTo(str1)
vráti sa pozitívny.
Príklad 2: Skontrolujte, či sú dva reťazce rovnaké
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ýkon
str1 a str2 nie sú rovnaké
compareTo()
Metóda berie písmeno (veľké a malé) do úvahy.
Príklad 3: compareTo () s prípadom
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 ) )
Keď "Learn Java"
sa porovná s "learn Java"
, nedostaneme 0. Je to preto, lebo compareTo()
berie do úvahy veľké a malé písmená.
Poznámky:
- Ak potrebujete porovnať dva reťazce ignorujúce malé a veľké písmená, použite metódu Java String compareToIgnoreCase ().
- Ak prejdete
null
kcompareTo()
metóde, zobrazí sa chyba.
Súvisiaci výukový program: Java String equals ()