java string compareto method with programming examples
In diesem Tutorial lernen wir die Java String compareTo () -Methode kennen und erfahren, wie und wann compareTo in Java zusammen mit Syntax und Beispielen verwendet wird:
Sie werden verstehen, wie Sie Java String mithilfe der Java-Methode compareTo () bearbeiten. Die Ausgabetypen, die wir über die Java-Methode compareTo () erhalten, werden ebenfalls in diesem Lernprogramm behandelt.
Nachdem Sie dieses Tutorial gelesen haben, werden Sie definitiv in der Lage sein, die Java-String-Programme zu verstehen und zu schreiben, die die .compareTo () -Methode für die String-Manipulation erfordern.
=> Lesen Sie hier den perfekten Java-Schulungsleitfaden.
Was du lernen wirst:
Java String compareTo () Methode
Mit der Java String compareTo () -Methode wird überprüft, ob zwei Strings identisch sind oder nicht. Wie der Name schon sagt, vergleicht er zwei gegebene Strings und findet heraus, ob sie gleich sind oder welcher größer ist.
Der Rückgabetyp der Java compareTo () -Methode ist eine Ganzzahl und die Syntax lautet wie folgt:
int compareTo(String str)
In der obigen Syntax ist str eine String-Variable, die mit dem aufrufenden String verglichen wird.
Zum Beispiel: String1.compareTo (String2);
Eine weitere Variante von Java compareTo () ist
int compareTo(Object obj)
In der obigen Syntax vergleichen wir einen String mit einem Object obj.
Zum Beispiel ,String1.compareTo ('Dies ist ein String-Objekt');
Hier ist 'Dies ist ein String-Objekt' ein Argument, das wir an compareTo () übergeben und das mit String1 vergleicht.
Ausgabetypen der Java compareTo () -Methode
Die Ausgabe hat drei Typen, die auf dem Ausgabewert basieren.
In der folgenden Tabelle werden alle drei Arten von Ausgabewerten erläutert.
compareTo () Ausgabewert | Beschreibung |
---|---|
Null | Zwei Saiten sind gleich. |
Größer als Null | Der aufrufende String ist größer als str. |
Weniger als Null | Der aufrufende String ist kleiner als str. |
Lassen Sie uns diese drei Varianten anhand eines Beispiels im Detail verstehen.
Ein Programmierbeispiel
Hier ist ein Beispiel für die Java-Methode compareTo (). Der Vergleich basiert auf der Differenz im ASCII-Wert der Zeichen. Im Allgemeinen ist ein String kleiner als der andere, wenn er im Wörterbuch vor dem anderen steht.
package codes; import java.lang.String; public class CompareTo { public static void main(String() args) { String str1 = 'Grand Theft Auto'; String str2 = 'Assassin Creed'; String str3 = 'Call of Duty'; String str4 = 'Need for Speed'; String str5 = 'Grand Theft Auto'; System.out.println(str1.compareTo(str2)); // Since 'A' is greater than 'G' by 6 characters, so it will return 6 System.out.println(str2.compareTo(str3)); // Since 'C' is smaller than 'A' by 2 characters, so it will return -2 System.out.println(str3.compareTo(str4)); //Since 'N' is smaller than 'C' by 11 characters, so it will return -11 System.out.println(str4.compareTo(str1)); //Since 'G' is Greater than 'N' by 7 characters, so it will return 7 System.out.println(str1.compareTo(str5)); //Strings are equal } }
Ausgabe:
Erklärung des Beispiels
Im obigen Beispiel haben wir fünf Eingabezeichenfolgen verwendet und einen grundlegenden Vergleich zwischen ihnen mithilfe der Java-Methode .compareTo () durchgeführt. Im ersten Vergleich haben wir 'A' um 6 Zeichen größer als 'G' in der Alphabet-Reihe, sodass +6 zurückgegeben wird. Im zweiten Vergleich haben wir 'C' um 2 Zeichen kleiner als 'A', sodass es -2 zurückgibt.
Im letzten Vergleich (zwischen str1 und str5) wird 0 zurückgegeben, da beide Strings gleich sind.
Verschiedene Szenarien
Lassen Sie uns die Methode .compareTo () im Detail verstehen. Hier werden wir versuchen, verschiedene Szenarien und die Ergebnisse jedes Einzelfalls zu analysieren.
Szenario 1: Betrachten Sie die folgenden zwei Zeichenfolgen. Wir werden sie vergleichen und die Ausgabe sehen.
String str1 = 'Softwaretests';
String str2 = 'Software Testing Help';
Was wird die Ausgabe von str1.compareTo (str2) sein?
Antworten: Da str2 5 Zeichen (ein Leerzeichen + vier Zeichen) mehr enthält als der erste String. Die Ausgabe sollte -5 sein. Wenn wir str2 mit str1 vergleichen, sollte die Ausgabe ebenfalls +5 sein.
package codes; import java.lang.String; public class CompareTo { public static void main(String() args) { String str1 = 'Software Testing'; String str2 = 'Software Testing Help'; System.out.println(str1.compareTo(str2)); // Since str2 contains 5 characters more than the str1, output should be -5 System.out.println(str2.compareTo(str1)); // Since str2 contains 5 characters less than the str1, output should be +5 } }
Ausgabe:
Szenario 2: Betrachten Sie die folgenden zwei Zeichenfolgen. Wir werden sie vergleichen und die Ausgabe sehen.
String str1 = '';
String str2 = ”“;
bester kostenloser Videokonverter für Mac
Was wird die Ausgabe von str1.compareTo (str2) sein?
Antworten: Da str2 ein Zeichen (Leerzeichen) mehr als str1 enthält, sollte die Ausgabe -1 sein.
package codes; import java.lang.String; public class CompareTo { public static void main(String() args) { String str1 = ''; String str2 = ' '; System.out.println(str1.compareTo(str2)); //Since str2 contains one character more than str1, it will give -1 System.out.println(str2.compareTo(str1)); //Since str1 contains one character less than str1, it will give 1 } }
Ausgabe:
Szenario 3: Betrachten Sie die folgenden zwei Zeichenfolgen. Wir werden sie vergleichen und die Ausgabe sehen.
String str1 = 'SAKET';
String str2 = 'saket';
Was wird die Ausgabe von str1.compareTo (str2) sein?
Antworten: Hier sind die Strings gleich, aber str1 hat Großbuchstaben, während str2 Kleinbuchstaben hat. Dies war die Einschränkung der Java-Methode compareTo (). Die Ausgabe, die wir erhalten, ist ungleich Null. Um dieses Problem zu lösen, führte Java eine weitere Variante der .compareTo () -Methode ein
.compareToIgnoreCase ()
package codes; import java.lang.String; public class CompareTo { public static void main(String() args) { String str1 = 'SAKET'; String str2 = 'saket'; System.out.println(str1.compareTo(str2)); //The ASCII representation of the lowercase and uppercase has a difference of 32 } }
Ausgabe:
Java String compareToIgnoreCase () Methode
Da wir das Problem in der Fallfehlanpassung (Szenario 3) erörtert haben, haben wir bereits eine andere Variante der .compareTo () -Methode, die die Fallfehlanpassung der Zeichenfolgen ignoriert.
Die Syntax dieser Methode ist wie folgt angegeben
int compareToIgnoreCase(String str)
Alles andere bleibt gleich, außer dass .compareToIgnoreCase () die Nichtübereinstimmung der Groß- und Kleinschreibung nicht berücksichtigt.
Ein Programmierbeispiel
Hier ist ein Beispiel für die Java-Methode compareTo (). In diesem Beispiel haben wir den Unterschied in den Ausgaben von Java compareTo () und compareToIgnoreCase () veranschaulicht. Java compareTo () ergibt einen Unterschied von -32, während compareToIgnoreCase () einen Unterschied von 0 ergibt.
package codes; public class CompareToIgnoreCase { public static void main(String() args) { String str1 = 'SAKET'; String str2 = 'saket'; System.out.println(str1.compareTo(str2)); System.out.println(str1.compareToIgnoreCase(str2)); } }
Ausgabe:
Erklärung des Beispiels:
Im obigen Beispiel haben wir zwei Zeichenfolgen mit demselben Wert verwendet, wobei eine Zeichenfolge in Großbuchstaben und eine weitere in Kleinbuchstaben beibehalten wird. Jetzt liefert eine Java .compareTo () -Methode Ergebnisse basierend auf der ASCII-Differenz im Wert von Klein- und Großbuchstaben, da die Groß- und Kleinschreibung berücksichtigt wird.
Java .compareToIgnoreCase () berücksichtigt jedoch nicht die Groß- und Kleinschreibung und gibt ein Ergebnis als 0 aus, was bedeutet, dass beide Zeichenfolgen gleich sind.
Häufig gestellte Fragen
F # 1) Was ist der Unterschied zwischen ==, equals und .compareTo ()?
Antwort: Nachfolgend sind die Hauptunterschiede zwischen ==, equals () und compareTo () aufgeführt.
!ERROR! unerwarteter Operator '=' | gleich () | vergleichen mit() |
---|---|---|
!ERROR! unerwarteter Operator '=' | equals () ist eine Methode. | compareTo () ist eine Methode. |
!ERROR! unerwarteter Operator '=' | Die Methode equals () führt den Inhaltsvergleich durch. | compareTo () führt den Vergleich basierend auf dem ASCII-Wert durch. |
Der Rückgabetyp ist Boolean. | Der Rückgabetyp ist Boolean. | Der Rückgabetyp ist Integer. |
Es wird die Referenz der String-Variablen verwendet, daher sollten die Speicheradressen beim Vergleich gleich sein. | Es ist nicht erforderlich, dass die Objekte logisch geordnet sind. | Dazu müssen die Objekte logisch geordnet sein. |
Hier ist ein Programmierbeispiel, das den Unterschied veranschaulicht.
package codes; public class CompareToIgnoreCase { public static void main(String() args) { String str1 = new String('Testing'); String str2 = 'Testing'; System.out.println(str1.compareTo(str2)); System.out.println(str1 ==str2); System.out.println(str1.equals(str2)); } }
Ausgabe:
F # 2) Bei der Java-Methode compareTo () wird zwischen Groß- und Kleinschreibung unterschieden?
Antworten: Ja. Die Java-Methode .compareTo () berücksichtigt die Groß- und Kleinschreibung der Zeichen und unterscheidet zwischen Groß- und Kleinschreibung.
Unten ist die Abbildung.
package codes; public class CompareToIgnoreCase { public static void main(String() args) { String str1 = 'Software'; String str2 = 'SOFTWARE'; System.out.println(str1.compareTo(str2)); } }
Ausgabe:
So öffnen Sie Bin-Dateien in Windows
Q # 3) Wie funktioniert compareTo () in Java?
Antworten: Die Java-Methode compareTo () vergleicht tatsächlich die ASCII-Werte der Zeichen eines Strings.
Angenommen, wir vergleichen ein Komma und ein Leerzeichen mit der Methode .compareTo (). Wie wir wissen, hat ein Leerzeichen einen ASCII-Wert 32, während ein Komma einen ASCII-Wert 44 hat. Die Differenz zwischen dem ASCII-Wert von Leerzeichen und Komma beträgt 12.
Unten finden Sie das Programmierbeispiel.
package codes; public class CompareTo { public static void main(String() args) { String str1 = ','; String str2 = ' '; System.out.println(str1.compareTo(str2)); } }
Ausgabe:
F # 4) Wie finde ich die Länge eines Strings mithilfe der Java .compareTo () -Methode?
Antworten: Im Folgenden wird das Programm angegeben, mit dem die Länge eines Strings mithilfe der Java-Methode .compareTo () ermittelt werden kann.
In diesem Beispiel haben wir einen String, dessen Länge wir finden müssen, und einen leeren String genommen. Dann haben wir den String mit dem leeren String verglichen. Der Unterschied zwischen ihnen ist die Länge des Strings.
package codes; public class CompareTo { public static void main(String() args) { String str1 = 'Tony Stark'; String str2 = ''; System.out.println(str1.compareTo(str2)); } }
Ausgabe:
F # 5) Was gibt die compareTo-Methode zurück?
Antworten: Der Rückgabetyp der Java compareTo () -Methode ist eine Ganzzahl. Der ganzzahlige Wert kann Null, positive ganze Zahl oder negative ganze Zahl sein.
Fazit
In diesem Tutorial haben wir die Java String compareTo () -Methode im Detail verstanden. Die grundlegenden Funktionen, Details zur Implementierung und Verwendung, insbesondere die Programmierbeispiele, wurden zum besseren Verständnis des Konzepts der String compareTo () -Methode bereitgestellt.
Lesen Sie auch = >> Java Comparable und Comparator Interfaces
Mit dieser Methode können Sie zwei Strings vergleichen, und viele andere Verwendungen oder Anwendungsbereiche wie das Ermitteln der Länge des Strings sind auch mithilfe der compareTo () -Methode möglich, die in den häufig gestellten Fragen behandelt wurde.
=> Besuchen Sie hier für die exklusive Java Training Tutorial-Reihe.
Literatur-Empfehlungen
- Java String Tutorial | Java-String-Methoden mit Beispielen
- Java String Split () -Methode - So teilen Sie einen String in Java
- Java String mit String Buffer und String Builder Tutorial
- Python-String-Funktionen
- Java String Array - Tutorial mit Codebeispielen
- ListIterator-Schnittstelle in Java mit Beispielen
- Java Interface und Abstract Class Tutorial mit Beispielen
- OOP Java: Einführung in die objektorientierte Programmierung in Java