Java karakterlánc összehasonlító () módszer: Hogyan kell használni a példákkal

Tartalomjegyzék:

Anonim

Mi az összehasonlít () metódus a Java-ban?

Az vertaTo () két karakterlánc lexikográfiai összehasonlítására szolgál. Mindkét karakterlánc karakterét Unicode értékké alakítják át. Ha azonban mindkét karakterlánc egyenlő, akkor ez a módszer 0-t ad vissza, máskülönben csak negatív vagy pozitív értéket eredményez.

A Java String CompareTo () metódust a java.lang.Comparable felület határozza meg

Szintaxis: Hogyan lehet összehasonlítani () metódust írni Java-ban :

public int compareTo(String str)

Paraméter bemenet:

str - A Java összehasonlító () függvénye csak egy bemeneti String adattípust fogad el.

A módszer visszatér:

Ez az összehasonlító () Java módszer egy int adattípust ad vissza, amely két karaktersorozat lexikográfiai összehasonlításán alapul.

  • <0 értéket ad vissza, akkor a metódust meghívó String lesz lexikográfiai szempontból első
  • == 0 értéket ad vissza, akkor a két húr lexikológiailag egyenértékű
  • > 0 értéket ad vissza, majd a Java CompareTo () metódushoz továbbított paraméter lexikográfiai szempontból az első.

Java karakterlánc összehasonlító () metódus példa:

1. példa:

public class Sample_String {public static void main(String[] args) {String str_Sample = "a";System.out.println("Compare To 'a' b is : " + str_Sample.compareTo("b"));str_Sample = "b";System.out.println("Compare To 'b' a is : " + str_Sample.compareTo("a"));str_Sample = "b";System.out.println("Compare To 'b' b is : " + str_Sample.compareTo("b"));}}

Kimenet

Összehasonlítás 'a' b-vel: -1

Összehasonlítás 'b' a-val: 1 Összehasonlítás 'b' b-vel: 0

Itt,

  • Az a karakter betű szerint áll a b előtt. Ezért a kimenet -1
  • A b karakter ábécérendben következik. Ezért a kimenet 1
  • A b karakter ekvivalens, ezért a kimenet 0.

Használhatja a "CompareToIgnoreCase" metódus használatát, ha nem szeretné, hogy az eredmény kis- és nagybetű legyen. Értsük meg egy Java összehasonlító () példával.

2. példa:

public class Sample_String {public static void main(String[] args) {//Compare to a StringString str_Sample = "RockStar";System.out.println("Compare To 'ROCKSTAR': " + str_Sample.compareTo("rockstar"));//Compare to - Ignore caseSystem.out.println("Compare To 'ROCKSTAR' - Case Ignored: " + str_Sample.compareToIgnoreCase("ROCKSTAR"));}}

Kimenet

Összehasonlítás a „ROCKSTAR” -val: -32 Összehasonlítás a „ROCKSTAR” -val - a ház figyelmen kívül hagyva: 0

Mikor kell használni a Java-ban az vertaTo () metódust?

A Java String CompareTo () metódust a karakterlánc természetes rendezésére használják. A természetes rendezés azt a rendezési sorrendet jelenti, amely az objektumra vonatkozik, pl. Lexikai sorrend a karakterláncra, numerikus sorrend az egész számok rendezésére stb.

A lexikai sorrend nem más, mint ábécé sorrend. A vertaTo () Java módszer egymás után hasonlítja össze a karakterlánc azonos betűvel rendelkező betűit.

Ebben a módszerben, ha az első karakterlánc mindig lexikográfiailag magasabb, mint a második karakterlánc, akkor pozitív számot ad vissza.

ha a1> a2, akkor negatív számot ad vissza

ha a1

ha a1 == a2, akkor 0-t ad vissza

Értsük meg a Java karakterlánccal összehasonlítás () példa.

3. példa:

public class Compare {public static void main(String[] args) {String s1 = "Guru1";String s2 = "Guru2";System.out.println("String 1: " + s1);System.out.println("String 2: " + s2);// Compare the two strings.int S = s1.compareTo(s2);// Show the results of the comparison.if (S < 0) { System.out.println("\"" + s1 + "\"" + " is lexicographically higher than " + "\"" + s2 + "\"");} else if (S == 0) {System.out.println("\"" + s1 + "\"" + " is lexicographically equal to " + "\"" + s2 + "\"");} else if (S> 0) {System.out.println("\"" + s1 + "\"" + " is lexicographically less than " + "\"" + s2 + "\"");}}}

Kimenet:

1. húr: Guru1

2. húr: Guru2 A "Guru1" lexikográfiailag magasabb, mint a "Guru2"