Was ist die Java-String-compareTo()-Methode?
Die Methode „compareTo()“ der Java-String-Klasse gibt den Wert 0 zurück, wenn beide Strings lexikographisch gleich sind. Wenn die verglichene Zeichenfolge lexikografisch größer ist, wird der positive Wert zurückgegeben, andernfalls wird der negative Wert zurückgegeben. Daher wird die Java-String- CompareTo()- Methode verwendet, um zwei Strings zu vergleichen. Der Unicode- Wert jedes Zeichens in der Zeichenfolge wird von dieser Methode immer zum Vergleich verwendet. Wenn beim Vergleichen der Zeichenfolgen eine davon leer ist, wird immer die Länge der Zeichenfolge zurückgegeben. Wenn eine der Zeichenfolgen leer ist, können zwei Szenarien ablaufen. Wenn die erste Zeichenfolge leer ist, wird ein negativer Wert zurückgegeben, andernfalls wird ein positiver Wert zurückgegeben. Die Java- Methode string.compareTo() berücksichtigt standardmäßig die Groß-/Kleinschreibung, aber wir können die Methode CompareToIgnoreCase() der Java- String- Klasse verwenden , um die Groß-/Kleinschreibung beim Vergleich zu ignorieren. Diese Methode gibt auch eine negative, 0 oder eine positive Ganzzahl zurück, wie oben beschrieben.Syntax
public int compareTo(string str)
public int compareTo(object obj)
Parameter
Die Java-String- CompareTo()- Methode empfängt einen String oder ein Objekt als Parameter, wie Sie oben in der Syntax sehen können.Kehrt zurück
- Es gibt 0 zurück, wenn beide lexikografisch gleich sind.
- Es gibt eine positive Ganzzahl zurück, wenn die verglichene Zeichenfolge oder das verglichene Objekt lexikographisch größer ist.
- Es gibt eine negative Ganzzahl zurück, wenn einer der Vergleichswerte lexikographisch kleiner ist.
Ausnahmen
Die Methode „compareTo()“ gibt zwei Ausnahmen zurück.- ClassCastException : Wenn das Objekt nicht verglichen werden kann, wird diese Ausnahme zurückgegeben.
- NullPointerException : Wenn die Zeichenfolge null ist, wird eine NullPointerException ausgelöst.
Beispiele für die Java-String-compareTo()-Methode
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));
}
}
Ausgabe
0 -42 74 -23 0
Da wir wissen, dass die Zeichenfolgen str und str1 lexikografisch gleich sind, wurde 0 zurückgegeben. Beim Vergleich von str und str2 wurde ein negativer Wert von 42 zurückgegeben, da die verglichene Zeichenfolge str lexikografisch kleiner ist und daher negativ ist, und auf der Grundlage der Unicode-Werte t char und J char hat eine Differenz von 42, daher wird ein Wert von -42 zurückgegeben. Im Übrigen können Sie sich die Ergebnisse ansehen, um diese Methode besser zu verstehen.
Beispiel für eine leere Zeichenfolge
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));
}
}
Ausgabe
11 -6
Beispiel für 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));
}
}
Ausgabe
32 0
GO TO FULL VERSION