Java String CompareTo () -menetelmä vertaa kahta merkkijonoa leksikografisesti (sanakirjajärjestyksessä). Vertailu perustuu kunkin merkkijonon merkin Unicode-arvoon.
Menetelmän syntaksi compareTo()
on:
string.compareTo(String str)
Tässä merkkijono on String
luokan objekti .
Vertaile () -parametrit
compareTo()
Menetelmä ottaa yhden parametrin.
- str - merkkijono, jota verrataan
returnTo () palautusarvo
- palauttaa 0, jos merkkijonot ovat samat
- palauttaa negatiivisen kokonaisluvun, jos se
string
tuleestr
sanakirjajärjestyksen argumentin eteen - palauttaa positiivisen kokonaisluvun, jos se
string
tuleestr
sanakirjajärjestyksen argumentin jälkeen
Esimerkki: Java-merkkijono vertaile ()
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 ) )
Tässä,
- str1 ja str2 ovat yhtä suuret. Siksi
str1.compareTo(str2)
palauttaa 0. - str1 on sanan järjestyksessä ennen str3. Siksi
str1.compareTo(str3)
palauttaa negatiivisen jastr3.compareTo(str1)
positiivisen.
Esimerkki 2: Tarkista, ovatko kaksi merkkijonoa yhtä suuret
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"); ) ) )
Tuotos
str1 ja str2 eivät ole samat
compareTo()
Menetelmä ottaa kirjainkoosta (isoja ja pieniä) huomioon.
Esimerkki 3: vertaile () tapaukseen
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 ) )
Kun "Learn Java"
verrataan "learn Java"
, emme saa 0. Se johtuu siitä, compareTo()
että kirjainkoko otetaan huomioon.
Huomautuksia:
- Jos sinun on vertailtava kahta merkkijonoa välittämättä kirjaeroista, käytä Java-merkkijonon vertailumenetelmää
- Jos ohitat
null
sencompareTo()
menetelmän, saat virheilmoituksen.
Liittyvä opetusohjelma: Java-merkkijono on yhtä suuri ()