logo

Metoda Java String compareTo() s primeri

Nizi v Javi so objekti, ki jih interno podpira le matrika, kar pomeni neprekinjeno dodeljevanje pomnilnika za znake. Upoštevajte, da so nizi v Javi nespremenljivi, kar pomeni, da ko ustvarimo objekt String in mu dodelimo nekaj vrednosti, ne moremo spremeniti vsebine. Lahko pa ustvarimo drug objekt String s spremembami, ki jih želimo.

Razred String v Javi vsebuje veliko metod za izvajanje različnih operacij na nizih in mi se bomo osredotočili na Java String primerjaj z () metoda v tem članku.



Metoda Java String.compareTo().

Java primerjaj z () metoda primerja dani niz s trenutnim nizom leksikografsko . Vrne pozitivno število, negativno število ali 0. Primerja nize na podlagi Vrednost Unicode vsakega znaka v nizih.

primer:

Java








int niz 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>>0>) {> >System.out.println(str1 +>' comes after '> + str2 +>' lexicographically.'>);> >}>else> {> >System.out.println(str1 +>' and '> + str2 +>' are lexicographically equal.'>);> >}> >}> }>

>

>

Izhod:

Geeks and Geeks are lexicographically equal.>

Sintaksa

int comparison = str1.compareTo(str2);>

Parametri:

  • str1: Niz 1 za primerjavo
  • str2: Niz 2 za primerjavo

Vrne:

  • če niz1> niz2 , se vrne pozitivno število
  • če niz1 , se vrne negativno število
  • če niz1 == niz2 , se vrne 0

Izjema: Vrže naslednji dve izjemi:

  • NullPointerException- če je podani objekt Nič.
  • ClassCastException- če trenutnega predmeta ni mogoče primerjati z navedenim objektom.

Različice metode CompareTo().

obstajajo tri variante od primerjaj z () metode, ki so naslednje:

  1. z uporabo int compareTo(Object obj)
  2. z uporabo int compareTo(String AnotherString)
  3. z uporabo int compareToIgnoreCase(String str)

1. int compareTo(Object obj)

Ta metoda primerja ta niz z drugim predmetom.

Sintaksa:

int compareTo(Object obj)>

Parametri:

  obj:   the Object to be compared.>

Povratna vrednost: Vrednost 0, če je argument niz, ki je leksikografsko enak temu nizu; vrednost manjša od 0, če je argument niz, ki je leksikografsko večji od tega niza; in vrednost, večjo od 0, če je argument niz, leksikografsko manjši od tega niza.

primer:

Spodaj je implementacija int compareTo(Object obj):

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));> >}> }>

razdelitev niza v c++
>

>

Izhod

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

2. int compareTo(String anotherString)

Ta metoda leksikografsko primerja dva niza.

Sintaksa:

int compareTo(String anotherString)>

Parametri:

  anotherString:    the String to be compared.>

Povratna vrednost: Vrednost 0, če je argument niz, ki je leksikografsko enak temu nizu; vrednost manjša od 0, če je argument niz, ki je leksikografsko večji od tega niza; in vrednost, večjo od 0, če je argument niz, leksikografsko manjši od tega niza.

primer:

Spodaj je implementacija int compareTo(String anotherString):

python natisni na 2 decimalni mesti

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));> >}> }>

>

>

Izhod

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

3. int compareToIgnoreCase(String str)

Ta metoda leksikografsko primerja dva niza, pri čemer ne upošteva razlik med velikimi in malimi črkami.

Sintaksa:

int compareToIgnoreCase(String str)>

Parametri:

  str:   the String to be compared.>

Povratna vrednost: Ta metoda vrne negativno celo število, nič ali pozitivno celo število, ker je podani niz večji, enak ali manjši od tega niza, pri čemer zanemari upoštevanje velikih in malih črk.

primer:

Spodaj je implementacija int compareToIgnoreCase(String str):

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));> >}> }>

>

>

Izhod

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

Izjeme v metodi Java String compareTo().

metoda compareTo() v Javi lahko povzroči dve možni izjemi:

primarni ključ sestavljeni ključ
  • NullPointerException
  • ClassCastException

compareTo() NullPointerException

V Javi metoda compareTo() vrže izjemo NullPointerException, če je kateri od primerjanih predmetov nič . To zagotavlja, da izrecno obravnavate ničelne vrednosti, in preprečuje nepričakovano vedenje.

primer:

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);> }> }>

>

>

Izhod:

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

compareTo() ClassCastException

To je izjema med izvajanjem in se zgodi, ko se v metodi compareTo() primerjata dva predmeta nezdružljivih vrst.

primer:

Java




niz dolžine

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);> >}> }>

>

>

Izhod:

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

Preberite tudi:

  1. Primerjajte dva niza v Javi
  2. Primerjajte dva niza leksikografsko v Javi
  3. Metoda Java Integer compareTo().

Zaključek

funkcija compareTo() v Javi se uporablja za leksikografsko primerjavo dveh nizov ali predmetov. Vrne pozitivno, ničelno ali negativno celo število. V tej vadnici smo obravnavali to metodo ter razpravljali o njenem delovanju in izjemah.

Preberi več Metode nizov Java

Metoda Java String CompareTo() - pogosta vprašanja

Kako primerjati nize v Javi?

Nize v Javi lahko primerjate z metodo compareTo(). Sprejema dva parametra in ju leksikografsko primerja.

Kakšna je razlika med metodo compareTo() in metodo equals() v Javi?

metoda equals(). metoda compareTo().
Uporablja se za preverjanje, ali sta dva predmeta popolnoma enaka. Uporablja se za primerjavo dveh predmetov in določanje njunega relativnega vrstnega reda.

Vrne logično vrednost:

  • res, če se objekti obravnavajo kot enaki.
  • false drugače.

Vrne celo število:

  • Negativna vrednost, če je prvi predmet manjši od drugega.
  • Nič, če se objekti obravnavajo kot enaki.
  • Pozitivna vrednost, če je prvi predmet večji od drugega.

Kaj vrne compareTo () v Javi?

metoda compareTo() v Javi vrne celo število. Lahko ima tri možne vrednosti:

  • Negativna vrednost: Ko je prvi predmet manjši od drugega.
  • nič: Ko se predmeti štejejo za enake.
  • Pozitivna vrednost: Ko je prvi predmet večji od drugega.