Metodo Java String compareTo (): come utilizzare con esempi

Sommario:

Anonim

Cos'è il metodo compareTo () in Java?

compareTo () viene utilizzato per confrontare due stringhe lessicograficamente. Ogni carattere di entrambe le stringhe viene convertito in un valore Unicode. Tuttavia, se entrambe le stringhe sono uguali, questo metodo restituisce 0 altrimenti risulta solo un valore negativo o positivo.

Il metodo Java String compareTo () è definito nell'interfaccia java.lang.Comparable

Sintassi: come scrivere un metodo compareTo () in Java :

public int compareTo(String str)

Inserimento parametri:

str - La funzione compareTo () in Java accetta solo un tipo di dati String di input.

Restituzioni del metodo:

Questo metodo Java compareTo () restituisce un tipo di dati int che si basa sul confronto lessicografico tra due stringhe.

  • restituisce <0 quindi la stringa che chiama il metodo viene prima lessicograficamente
  • restituisce == 0 allora le due stringhe sono lessicograficamente equivalenti
  • restituisce> 0 quindi il parametro passato al metodo Java compareTo () è il primo lessicograficamente.

Metodo Java String compareTo () Esempio:

Esempio 1:

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

Produzione

Confronta con "a" b è: -1

Confronta con 'b' a è: 1 Confronta con 'b' b è: 0

Qui,

  • Il carattere a viene prima di b in ordine alfabetico. Quindi l'output è -1
  • Il carattere b viene dopo a in ordine alfabetico. Quindi l'output è 1
  • Il carattere b è equivalente, quindi l'output è 0.

È possibile utilizzare il metodo Usa "compareToIgnoreCase" nel caso in cui non si desidera che il risultato sia sensibile al maiuscolo / minuscolo. Comprendiamo con un esempio Java compareTo ().

Esempio 2:

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

Produzione

Confronta con "ROCKSTAR": -32 Confronta con "ROCKSTAR" - Maiuscole / minuscole ignorate: 0

Quando utilizzare il metodo compareTo () in Java?

Il metodo Java String compareTo () viene utilizzato per eseguire l'ordinamento naturale su una stringa. L'ordinamento naturale indica l'ordinamento che si applica all'oggetto, ad esempio l'ordine lessicale per String, l'ordine numerico per l'ordinamento di numeri interi, ecc.

L'ordine lessicale non è altro che l'ordine alfabetico. Il metodo Java compareTo () esegue un confronto sequenziale di lettere nella stringa che hanno la stessa posizione.

In questo metodo, se la prima stringa è sempre lessicograficamente più alta della seconda stringa, restituisce un numero positivo.

se a1> a2, restituisce un numero negativo

se a1

se a1 == a2, restituisce 0

Comprendiamo con Java String compareTo () Esempio.

Esempio 3:

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 + "\"");}}}

Produzione:

Stringa 1: Guru1

Stringa 2: Guru2 "Guru1" è lessicograficamente più alto di "Guru2"