Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Industrial programming >> Java

Java String compareTo() meistern: Syntax, Anwendungsfälle und praktische Beispiele

Was ist compareTo() in Java?

compareTo()-Methode vergleicht zwei Strings lexikographisch. Jedes Zeichen wird in seinen Unicode-Wert konvertiert, und die Methode gibt einen int zurück, der die relative Reihenfolge anzeigt. Sind die Strings identisch, gibt sie 0 zurück; andernfalls ist das Ergebnis negativ, wenn der erste String dem zweiten vorangeht, oder positiv, wenn er folgt.

Diese Methode ist im java.lang.Comparable-Interface definiert.

Syntax

public int compareTo(String str)

Parameter: str – der String, der mit dem aufrufenden String verglichen wird.

Rückgabewert: Ein int, der negativ, null oder positiv ist, abhängig von der lexikographischen Reihenfolge.

  • < 0 – der aufrufende String ist lexikographisch zuerst.
  • == 0 – die beiden Strings sind gleich.
  • > 0 – der Argument-String ist lexikographisch zuerst.

Beispiel 1: Grundlegende Nutzung

public class SampleString {
    public static void main(String[] args) {
        String str = "a";
        System.out.println("Vergleich \"a\" zu \"b\": " + str.compareTo("b"));
        str = "b";
        System.out.println("Vergleich \"b\" zu \"a\": " + str.compareTo("a"));
        str = "b";
        System.out.println("Vergleich \"b\" zu \"b\": " + str.compareTo("b"));
    }
}

Ausgabe

  • Vergleich "a" zu "b": -1
  • Vergleich "b" zu "a": 1
  • Vergleich "b" zu "b": 0

Erklärung:

  • „a“ kommt vor „b“ alphabetisch, Ergebnis ist negativ.
  • „b“ kommt nach „a“, positives Ergebnis.
  • Identische Strings ergeben null.

Beispiel 2: Case-Sensitive vs. Case-Insensitive

public class SampleString {
    public static void main(String[] args) {
        String str = "RockStar";
        System.out.println("Case-sensitive Vergleich mit \"rockstar\": " + str.compareTo("rockstar"));
        System.out.println("Case-insensitive Vergleich mit \"ROCKSTAR\": " + str.compareToIgnoreCase("ROCKSTAR"));
    }
}

Ausgabe

  • Case-sensitive Vergleich zu "rockstar": -32
  • Case-insensitive Vergleich zu "ROCKSTAR": 0

Wann compareTo() nutzen

Nutzen Sie compareTo(), wenn Sie natürliche (lexikale) Ordnung von Strings benötigen, z. B. beim Sortieren einer Namensliste oder Dictionary-Lookups. Die Methode folgt denselben Regeln wie String.compareToIgnoreCase(), respektiert aber Groß-/Kleinschreibung.

Typische Szenarien:

  • Sortieren von Collections von String-Objekten mit Collections.sort().
  • Implementieren von Comparable in benutzerdefinierten Klassen, die String-Vergleich benötigen.
  • Binäre Suche in sortierten String-Arrays.

Beispiel 3: Praktischer Vergleich

public class CompareDemo {
    public static void main(String[] args) {
        String s1 = "Guru1";
        String s2 = "Guru2";
        System.out.println("String 1: " + s1);
        System.out.println("String 2: " + s2);
        int result = s1.compareTo(s2);
        if (result < 0) {
            System.out.println("\"" + s1 + "\" ist lexikographisch vor \"" + s2 + "\"");
        } else if (result == 0) {
            System.out.println("\"" + s1 + "\" ist lexikographisch gleich \"" + s2 + "\"");
        } else {
            System.out.println("\"" + s1 + "\" ist lexikographisch nach \"" + s2 + "\"");
        }
    }
}

Ausgabe

  • String 1: Guru1
  • String 2: Guru2
  • "Guru1" ist lexikographisch vor "Guru2"

Java

  1. Java String length() Methode: String-Länge ermitteln (Beispiel)
  2. Java String.indexOf() meistern: Substrings finden & praktische Beispiele
  3. Java String.charAt(): Syntax, Rückgabetyp, Exceptions und praktisches Beispiel
  4. Java String.contains() Methode: Substrings prüfen – praktische Beispiele
  5. Java String.endsWith(): String-Suffixe prüfen mit Beispielen
  6. Java String-Ersetzung meistern: replace(), replaceAll() und replaceFirst() erklärt
  7. Dateien in Java mit BufferedReader lesen – Praktischer Leitfaden mit Beispielen
  8. Char in String in Java konvertieren – Praxisbeispiele und Best Practices
  9. String in Java mit Rekursion umkehren – Schritt-für-Schritt-Anleitung
  10. Python print()-Funktion: Praktischer Leitfaden mit Beispielen