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
- Restituisce 0 se entrambi sono lessicograficamente uguali.
- Restituisce un intero positivo se la stringa o l'oggetto confrontato è maggiore dal punto di vista lessicografico.
- 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
GO TO FULL VERSION