Java-merkkijono vertailu ()

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 Stringluokan 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 stringtulee strsanakirjajärjestyksen argumentin eteen
  • palauttaa positiivisen kokonaisluvun, jos se stringtulee strsanakirjajä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 ja str3.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 nullsen compareTo()menetelmän, saat virheilmoituksen.

Liittyvä opetusohjelma: Java-merkkijono on yhtä suuri ()

Mielenkiintoisia artikkeleita...