CodeGym /Java Blog /Random-IT /Metodo Java String compareTo()
John Squirrels
Livello 41
San Francisco

Metodo Java String compareTo()

Pubblicato nel gruppo Random-IT

Cos'è il metodo Java String compareTo()?

Il metodo compareTo() della classe stringa Java restituisce il valore 0 se entrambe le stringhe sono lessicograficamente uguali. Se la stringa confrontata è maggiore lessicograficamente allora viene restituito il valore positivo altrimenti viene restituito il valore negativo. Quindi il metodo Java string compareTo() viene utilizzato per confrontare due stringhe. Il valore Unicode di ciascun carattere nella stringa viene sempre utilizzato da questo metodo per confrontarli. Durante il confronto delle stringhe, se qualcuna di esse è vuota, restituisce sempre la lunghezza della stringa. Se una qualsiasi delle stringhe è vuota, possono verificarsi due scenari. Se la prima stringa è vuota restituisce un valore negativo, altrimenti restituisce un valore positivo. Il metodo Java string.compareTo() per impostazione predefinita distingue tra maiuscole e minuscole, ma possiamo utilizzare il metodo compareToIgnoreCase() della classe Java String per ignorare la distinzione tra maiuscole e minuscole durante il confronto. Questo metodo restituisce anche un numero intero negativo, 0 o positivo come descritto sopra.

Sintassi

public int compareTo(string str)
public int compareTo(object obj)

Parametri

Il metodo Java string compareTo() riceve una stringa o un oggetto come parametro, come puoi vedere sopra nella sintassi.

ritorna

  1. Restituisce 0 se entrambi sono lessicograficamente uguali.
  2. Restituisce un intero positivo se la stringa o l'oggetto confrontato è maggiore dal punto di vista lessicografico.
  3. Restituisce un intero negativo se uno dei confrontati è lessicograficamente più piccolo.

Eccezioni

Il metodo compareTo() restituisce 2 eccezioni.
  • ClassCastException , se l'oggetto non può essere confrontato, restituisce questa eccezione.
  • NullPointerException , se la stringa è nulla, viene generata NullPointerException.

Esempi di metodi Java String compareTo()

class Main {
  public static void main(String[] args) {
    // declaring strings to be used in this example for Java string     compareTo() method
    String str = "Java compareTo() method example";
    String str1 = "Java compareTo() method example";
    String str2 = "this is Java compareTo() method example";
    String str3 = "Java CompareTo() Method Example";
    String str4 = "a Java compareTo() method example";
    String str5 = new String("Java compareTo() method example");

    // comparing the str and str1 strings
    System.out.println(str.compareTo(str1));

    // comparing the str and str2 strings
    System.out.println(str.compareTo(str2));

    // comparing the str and str3 strings
    System.out.println(str.compareTo(str3));

    // comparing the str and str4 strings
    System.out.println(str.compareTo(str4));

    // comparing the str string and str5 string object
    System.out.println(str.compareTo(str5));
  }
}

Produzione

0 -42 74 -23 0
Come sappiamo, le stringhe str e str1 sono uguali lessicograficamente, quindi ha restituito 0. Confrontando str e str2 ha restituito un valore negativo 42 perché la stringa confrontata str è più piccola lessicograficamente, quindi è negativa e sulla base del valore unicode t char e J char ha una differenza di 42, quindi viene restituito un valore -42. Per il resto potete vedere i risultati per comprendere meglio questo metodo.

Esempio di stringa vuota

public class Main{
    public static void main(String args[]){
        String str="compareTo()";

        // declaring an empty string
        String str1="";
        String str2="method";

        System.out.println(str.compareTo(str1));
        System.out.println(str1.compareTo(str2));
    }
}

Produzione

11-6

Esempio di IgnoreCase

public class Main{
    public static void main(String args[]){
        String str="compareTo()";

        // declaring the same string with uppercase letters
        String str1="COMPARETO()";

        System.out.println(str.compareTo(str1));
        System.out.println(str.compareToIgnoreCase(str1));
    }
}

Produzione

320

Conclusione

Ci auguriamo che a questo punto tu abbia capito cos'è il metodo Java string compareTo() e come implementarlo per il confronto delle stringhe, insieme ai suoi diversi casi utente, come il confronto delle stringhe vuote e l'ignoranza della distinzione tra maiuscole e minuscole. Sentiti libero di esercitarti e di tornare ogni volta che hai bisogno di maggiore assistenza. Buon apprendimento!
Commenti
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION