0Pricing
Java Academy · Lektion

Arrays.equals und toString

Arrays vergleichen und ausgeben

Arrays.equals und toString ist eine kostenlose Java Academy-Lektion auf CoddyKit. Dies ist Lektion 4 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Java Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Java Academy-Kurs umfasst insgesamt 4 Lektionen.

Vergleichen und ausgeben

Arrays überschreiben equals oder toString nicht auf eine nützliche Weise. Die Hilfsklasse Arrays stellt equals und toString bereit, die den Inhalt der Elemente tatsächlich untersuchen.

Warum == fehlschlägt

Wenn Sie == auf Arrays anwenden, werden Referenzen und nicht die Inhalte verglichen. Zwei verschiedene Arrays mit identischen Elementen sind nicht gleich bezüglich ==.

public class Main {
    public static void main(String[] args) {
        int[] a = {1, 2, 3};
        int[] b = {1, 2, 3};
        System.out.println(a == b);
    }
}

Arrays.equals

Arrays.equals(a, b) gibt true zurück, wenn beide Arrays die gleiche Länge und gleiche Elemente an denselben Positionen haben.

import java.util.Arrays;

public class Main {
    public static void main(String[] args) {
        int[] a = {1, 2, 3};
        int[] b = {1, 2, 3};
        System.out.println(Arrays.equals(a, b));
    }
}

Die Reihenfolge ist entscheidend

Die Reihenfolge der Elemente ist entscheidend. Zwei Arrays mit denselben Werten in einer anderen Reihenfolge sind nicht gleich.

import java.util.Arrays;

public class Main {
    public static void main(String[] args) {
        int[] a = {1, 2, 3};
        int[] b = {3, 2, 1};
        System.out.println(Arrays.equals(a, b));
    }
}

Objekt-Arrays vergleichen

Bei Objekt-Arrays vergleicht Arrays.equals die Elemente mithilfe ihrer eigenen equals-Methode.

import java.util.Arrays;

public class Main {
    public static void main(String[] args) {
        String[] a = {"x", "y", "z"};
        String[] b = {"x", "y", "z"};
        System.out.println(Arrays.equals(a, b));
    }
}

toString für eine lesbare Ausgabe

Wenn Sie ein Array direkt ausgeben, wird etwas wie [I@1b6d3586 angezeigt, also der Klassenname und der Hashwert. Arrays.toString erzeugt die lesbare Form [1, 2, 3].

import java.util.Arrays;

public class Main {
    public static void main(String[] args) {
        int[] nums = {1, 2, 3};
        System.out.println(nums);
        System.out.println(Arrays.toString(nums));
    }
}

Verschachtelte Arrays: deepEquals

Bei Arrays aus Arrays prüft equals lediglich die äußeren Referenzen der einzelnen Zeilen. Verwenden Sie Arrays.deepEquals, um verschachtelte Inhalte zu vergleichen.

import java.util.Arrays;

public class Main {
    public static void main(String[] args) {
        int[][] a = {{1, 2}, {3, 4}};
        int[][] b = {{1, 2}, {3, 4}};
        System.out.println(Arrays.equals(a, b));
        System.out.println(Arrays.deepEquals(a, b));
    }
}

Verschachtelte Arrays: deepToString

Ebenso gibt Arrays.deepToString verschachtelte Arrays übersichtlich aus, während das einfache toString die inneren Referenzen anzeigen würde.

import java.util.Arrays;

public class Main {
    public static void main(String[] args) {
        int[][] grid = {{1, 2}, {3, 4}};
        System.out.println(Arrays.toString(grid));
        System.out.println(Arrays.deepToString(grid));
    }
}

hashCode für Arrays

Wenn Sie einen inhaltsbasierten Hash benötigen, verwenden Sie Arrays.hashCode und bei verschachtelten Arrays Arrays.deepHashCode. Diese Methoden sind mit Arrays.equals konsistent.

import java.util.Arrays;

public class Main {
    public static void main(String[] args) {
        int[] a = {1, 2, 3};
        int[] b = {1, 2, 3};
        System.out.println(Arrays.hashCode(a) == Arrays.hashCode(b));
    }
}

Nach dem Sortieren vergleichen

Um zu prüfen, ob zwei Arrays unabhängig von der Reihenfolge dieselbe Multimenge von Werten enthalten, sortieren Sie Kopien beider Arrays und vergleichen sie anschließend mit Arrays.equals.

import java.util.Arrays;

public class Main {
    public static void main(String[] args) {
        int[] a = {3, 1, 2};
        int[] b = {2, 3, 1};
        int[] ca = Arrays.copyOf(a, a.length);
        int[] cb = Arrays.copyOf(b, b.length);
        Arrays.sort(ca);
        Arrays.sort(cb);
        System.out.println(Arrays.equals(ca, cb));
    }
}

Einfaches Protokollieren

Umschließen Sie beim Debuggen Arrays in Arrays.toString innerhalb von Ausgabebefehlen, damit Sie die Werte tatsächlich lesen können und nicht nur kryptische Referenzen sehen.

Kurzer Test

Testen Sie Ihr Verständnis vom Vergleichen von Arrays.

Zusammenfassung

Sie haben gelernt, Arrays zu vergleichen und auszugeben.

  • == vergleicht Referenzen; verwenden Sie Arrays.equals für den Inhaltsvergleich.
  • Sowohl Reihenfolge als auch Länge sind entscheidend.
  • Arrays.toString liefert eine lesbare Ausgabe; deepToString verarbeitet Verschachtelungen.
  • deepEquals vergleicht verschachtelte Arrays.

Häufig gestellte Fragen

Ist die Lektion „Arrays.equals und toString“ kostenlos?

Ja — der vollständige Text von „Arrays.equals und toString“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Java Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Java Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Arrays.equals und toString“?

Arrays vergleichen und ausgeben Du übst Java Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Java Academy zu starten?

Keine Vorkenntnisse erforderlich. Java Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 4 von 4.

Wie lange dauert die Lektion „Arrays.equals und toString“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Java Academy-Lektion Code schreiben und ausführen?

Ja. Jede Java Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Arrays.sort und Sortieren
  2. Arrays.binarySearch
  3. Arrays.fill und copyOf
  4. Arrays.equals und toString
← Zurück zu Java Academy