logo

Java eilutės palyginimasTo() metodas su pavyzdžiais

„Java“ eilutės yra objektai, kuriuos viduje palaiko tik masyvas, o tai reiškia, kad simbolių atmintis paskirstoma gretimais. Atkreipkite dėmesį, kad „Java“ eilutės yra nekintamos, o tai reiškia, kad sukūrę String objektą ir priskyrę jam tam tikras reikšmes, turinio pakeisti negalime. Tačiau galime sukurti kitą String objektą su norimais pakeitimais.

„Java“ eilutės klasė apima daugybę metodų, leidžiančių atlikti įvairias operacijas su eilutėmis, ir mes sutelksime dėmesį į „Java“ eilutę. palyginti su() metodas šiame straipsnyje.



išankstinio užsakymo pervežimas

Java String.compareTo() metodas

Java palyginti su() metodas lygina pateiktą eilutę su dabartine eilute leksikografiškai . Jis grąžina teigiamą skaičių, neigiamą skaičių arba 0. Jis lygina eilutes pagal Unikodo reikšmė kiekvieno simbolio eilutėse.

Pavyzdys:

Java








public> class> StringCompareTo {> >public> static> void> main(String[] args) {> >String str1 =>'Geeks'>;> >String str2 =>'Geeks'>;> >int> comparison = str1.compareTo(str2);> >if> (comparison <>0>) {> >System.out.println(str1 +>' comes before '> + str2 +>' lexicographically.'>);> >}>else> if> (comparison>>>) {> >System.out.println(str1 +>' comes after '> + str2 +>' lexicographically.'>);> >}>else> {> >System.out.println(str1 +>' and '> + str2 +>' are lexicographically equal.'>);> >}> >}> }>

>

>

Išvestis:

Geeks and Geeks are lexicographically equal.>

Sintaksė

int comparison = str1.compareTo(str2);>

Parametrai:

  • str1: 1 eilutė palyginimui
  • str2: 2 eilutė palyginimui

Grąžina:

  • jeigu eilutė1> eilutė2 , jis grįžta teigiamas numerį
  • jeigu eilutė1 , jis grįžta neigiamas numerį
  • jeigu string1 == eilutė2 , jis grįžta 0

Išimtis: Jame pateikiamos dvi išimtys:

  • NullPointerException- jei nurodytas objektas yra Null.
  • ClassCastException- jei dabartinis objektas negali būti lyginamas su nurodytu objektu.

Metodo CompareTo() variantai

Yra trys variantai palyginti su() metodas, kuris yra toks:

  1. naudojant int palyginimas(Object Obj)
  2. naudojant int palygintiTo(String AnotherString)
  3. naudojant int palygintiToIgnoreCase(String str)

1. int palyginimas(Object obj)

Šis metodas lygina šią eilutę su kitu objektu.

Sintaksė:

int compareTo(Object obj)>

Parametrai:

  obj:   the Object to be compared.>

Grąžinimo vertė: Reikšmė 0, jei argumentas yra eilutė, leksikografiškai lygi šiai eilutei; reikšmė mažesnė už 0, jei argumentas yra leksikografiškai didesnė už šią eilutę; ir reikšmę, didesnę nei 0, jei argumentas yra leksikografiškai mažesnė už šią eilutę.

Pavyzdys:

Toliau pateikiamas int palygintiTo (Object obj) įgyvendinimas:

Java




// Java code to demonstrate the> // working of compareTo()> public> class> Cmp1 {> >public> static> void> main(String args[])> >{> >// Initializing Strings> >String str1 =>'geeksforgeeks'>;> >String str2 =>new> String(>'geeksforgeeks'>);> >String str3 =>new> String(>'astha'>);> >// Checking if geeksforgeeks string> >// equates to geeksforgeeks object> >System.out.print(> >'Difference of geeksforgeeks(obj) and geeksforgeeks(str) : '>);> >System.out.println(str1.compareTo(str2));> >// Checking if geeksforgeeks string> >// equates to astha object> >System.out.print(> >'Difference of astha(obj) and geeksforgeeks(str) : '>);> >System.out.println(str1.compareTo(str3));> >}> }>

Linux pakeitimo failas

>

>

Išvestis

Difference of geeksforgeeks(obj) and geeksforgeeks(str) : 0 Difference of astha(obj) and geeksforgeeks(str) : 6>

2. int palygintiTo(String otherString)

Šis metodas palygina dvi eilutes leksikografiškai.

Sintaksė:

int compareTo(String anotherString)>

Parametrai:

  anotherString:    the String to be compared.>

Grąžinimo vertė: Reikšmė 0, jei argumentas yra eilutė, leksikografiškai lygi šiai eilutei; reikšmė mažesnė už 0, jei argumentas yra leksikografiškai didesnė už šią eilutę; ir reikšmę, didesnę nei 0, jei argumentas yra leksikografiškai mažesnė už šią eilutę.

Pavyzdys:

Toliau pateikiamas int palygintiTo (String otherString) įgyvendinimas:

Java




// Java code to demonstrate the> // working of compareTo()> public> class> Cmp2 {> >public> static> void> main(String args[])> >{> >// Initializing Strings> >String str1 =>'geeksforgeeks'>;> >String str2 =>'geeksforgeeks'>;> >String str3 =>'astha'>;> >// Checking if geeksforgeeks string> >// equates to geeksforgeeks string> >System.out.print(> >'Difference of geeksforgeeks(str) and geeksforgeeks(str) : '>);> >System.out.println(str1.compareTo(str2));> >// Checking if geeksforgeeks string> >// equates to astha string> >System.out.print(> >'Difference of astha(str) and geeksforgeeks(str) : '>);> >System.out.println(str1.compareTo(str3));> >}> }>

>

>

Išvestis

Difference of geeksforgeeks(str) and geeksforgeeks(str) : 0 Difference of astha(str) and geeksforgeeks(str) : 6>

3. int palyginimasIgnoruoti didžiąją raidę (String str)

Šis metodas palygina dvi eilutes leksikografiškai, nepaisydamas didžiųjų ir mažųjų raidžių skirtumų.

Sintaksė:

int compareToIgnoreCase(String str)>

Parametrai:

  str:   the String to be compared.>

Grąžinimo vertė: Šis metodas grąžina neigiamą sveikąjį skaičių, nulį arba teigiamą sveikąjį skaičių, nes nurodyta eilutė yra didesnė, lygi arba mažesnė už šią eilutę, neatsižvelgiant į didžiąsias ir mažąsias raides.

Pavyzdys:

Toliau pateikiamas int exampleToIgnoreCase(String str) įgyvendinimas:

Java




// Java code to demonstrate the> // working of compareToIgnoreCase()> public> class> Cmp3 {> >public> static> void> main(String args[])> >{> >// Initializing Strings> >String str1 =>'geeks'>;> >String str2 =>'gEEkS'>;> >// Checking if geeksforgeeks string> >// equates to geeksforgeeks string> >// case sensitive> >System.out.print(> >'Difference of geeks and gEEkS (case sensitive) : '>);> >System.out.println(str1.compareTo(str2));> >// Checking if geeksforgeeks string> >// equates to astha string> >// case insensitive> >// using compareToIgnoreCase()> >System.out.print(> >'Difference of geeks and gEEkS (case insensitive) : '>);> >System.out.println(str1.compareToIgnoreCase(str2));> >}> }>

>

>

Išvestis

Difference of geeks and gEEkS (case sensitive) : 32 Difference of geeks and gEEkS (case insensitive) : 0>

„Java String“ palyginimo() metodo išimtys

„Java“ metodas palygintiTo() gali iškelti dvi galimas išimtis:

java concat eilutės
  • NullPointerException
  • ClassCastException

palygintiTo() NullPointerException

Java, palyginimasTo() metodas meta NullPointerException, jei kuris nors iš lyginamų objektų yra toks nulinis . Tai užtikrina, kad aiškiai tvarkysite nulines reikšmes ir išvengsite netikėto elgesio.

Pavyzdys:

Java




public> class> cmp5> {> // main method> public> static> void> main(String[] args)> {> > String str =>null>;> > // null is invoking the compareTo method. Hence, the NullPointerException> // will be raised> int> no = str.compareTo(>'Geeks'>);> > System.out.println(no);> }> }>

>

>

hashmap

Išvestis:

  Exception in thread 'main' java.lang.NullPointerException      at cmp5.main(cmp5.java:11)>

palygintiTo() ClassCastException

Tai yra vykdymo laiko išimtis ir įvyksta, kai du nesuderinamo tipo objektai yra lyginami palyginimo į () metodu.

Pavyzdys:

Java




public> class> ClassCastExceptionExample {> >public> static> void> main(String[] args) {> >Object obj1 =>'Hello'>;> >Object obj2 =>10>;>// Integer object> >// Explicitly cast obj2 to String to force the exception> >int> comparison = ((String) obj2).compareTo(obj1);> >System.out.println(>'Comparison: '> + comparison);> >}> }>

>

>

Išvestis:

./ClassCastExceptionExample.java:8: error: incompatible types: Object cannot be converted to String int comparison = ((String) obj2).compareTo(obj1); // ClassCastException occurs here>

Taip pat skaitykite:

  1. Palyginkite dvi „Java“ eilutes
  2. „Java“ leksikografiškai palyginkite dvi eilutes
  3. Java Integer palygintiTo() metodas

Išvada

„Java“ funkcija palygintiTo () naudojama dviejų eilučių ar objektų palyginimui leksikografiškai. Jis grąžina teigiamą, nulį arba neigiamą sveikąjį skaičių. Šiame vadove mes apžvelgėme šį metodą ir aptarėme jo veikimą bei išimtis.

Skaityti daugiau Java stygų metodai

Java eilutės CompareTo() metodas – DUK

Kaip palyginti eilutes Java?

„Java“ eilutes galite palyginti naudodami palyginimo () metodą. Jis priima du parametrus ir lygina juos leksikografiškai.

Kuo „Java“ skiriasi palyginimas() metodas ir equals() metodas?

equals() metodas palyginimasTo() metodas
Naudojamas patikrinti, ar du objektai yra visiškai vienodi. Naudojamas dviejų objektų palyginimui ir jų santykinei tvarkai nustatyti.

Grąžina loginį:

  • tiesa, jei objektai laikomi lygiais.
  • klaidinga kitaip.

Grąžina sveikąjį skaičių:

  • Neigiama reikšmė, jei pirmasis objektas laikomas mažesniu nei antrasis.
  • Nulis, jei objektai laikomi lygiais.
  • Teigiama reikšmė, jei pirmasis objektas laikomas didesniu nei antrasis.

Ką palyginimas su () grąžina Java?

„Java“ metodas palygintiTo() grąžina sveikąjį skaičių. Jis gali turėti tris galimas reikšmes:

  • Neigiama vertė: Kai pirmasis objektas laikomas mažesniu nei antrasis.
  • Nulis: Kai objektai laikomi lygiaverčiais.
  • Teigiama vertė: Kai pirmasis objektas laikomas didesniu už antrąjį.