---
title: 'Objekt-Arrays mit Arrays.equals(…) und Arrays.deepEquals(…) vergleichen'
url: 'https://tutego.de/blog/javainsel/2017/02/objekt-arrays-mit-arrays-equals-und-arrays-deepequals-vergleichen'
markdown: 'https://tutego.de/blog/javainsel/2017/02/objekt-arrays-mit-arrays-equals-und-arrays-deepequals-vergleichen.md'
date: '2017-02-24'
description: 'Die Arrays.equals(…)-Methode kann auch beliebige Objektfelder vergleichen, doch nutzt sie dann nicht die Identitätsprüfung per ==, sondern die Gleichheit per equals(…). Eine seit Java 9 hinzugekommene Methode fragt einen Comparator. Beispiel Enthalten zwei String-Arrays die gleichen Wörter, wobei G…'
taxonomy:
  category:
    - Allgemein
    - Insel
    - 'Java 9'
---

# Objekt-Arrays mit Arrays.equals(…) und Arrays.deepEquals(…) vergleichen

![Illustration einer tropischen Insel mit Palmen und einem hohen Berg](https://tutego.de/blog/javainsel/user/themes/tutego/images/insel-cover.jpg)# Java Blog für Programmierer

[Java Blog für Programmierer](https://tutego.de/blog/javainsel/)

## Objekt-Arrays mit Arrays.equals(…) und Arrays.deepEquals(…) vergleichen

24.02.2017 · [Christian Ullenboom](https://tutego.de/blog/javainsel/author/admin/)

Die `Arrays.equals(…)`-Methode kann auch beliebige Objektfelder vergleichen, doch nutzt sie dann nicht die Identitätsprüfung per ==, sondern die Gleichheit per `equals(…)`. Eine seit Java 9 hinzugekommene Methode fragt einen `Comparator`.

Beispiel

Enthalten zwei `String`-`Arrays` die gleichen Wörter, wobei Groß-/Kleinschreibung keine Rolle spielt?

```java
String[] words1 = { "Zufriedenheit", "übertrifft" , "Reichtum" };

String[] words2 = { "REICHTUM", "übertrifft" , "ZuFRIEDEnheit" };

Arrays.sort( words1, String.CASE_INSENSITIVE_ORDER );

Arrays.sort( words2, String.CASE_INSENSITIVE_ORDER );

System.out.println( Arrays.equals( words1, words2, String.CASE_INSENSITIVE_ORDER ) );
```

class `java.util.Arrays`

- staticbooleanequals(`Object`\[\]a,`Object`\[\]a2) Vergleicht zwei Arrays mit Objektverweisen. Ein Objekt-Array darf null enthalten; dann gilt für die Gleichheit e1null ? e2null : equals(e2).
- `staticbooleandeepEquals`(`Object`\[\]a1,`Object`\[\]a2) Liefert true, wenn die beiden Arrays ebenso wie alle Unter-Arrays – rekursiv im Fall von Unter-Objekt-Arrays – gleich sind.
- `static <T> boolean equals(T[] a, T[] a2, Comparator<? super T> cmp)`Vergleicht zwei Arrays und compare(a\[i\], b2\[i\]) muss für alle Pärchen 0 sein, damit beide Elemente als gleich gelten. Neu in Java 9.
- `static <T> boolean equals(T[] a, int aFromIndex, int aToIndex, T[] b, int bFromIndex, int bToIndex, Comparator<? super T> cmp)`Vergleiche Ausschnitte von Arrays mit einem Comparator. Neu in Java 9.

Kategorien: [Allgemein](https://tutego.de/blog/javainsel/category/allgemein/), [Insel](https://tutego.de/blog/javainsel/category/insel/), [Java 9](https://tutego.de/blog/javainsel/category/java-9/)

[← Alle Beiträge](https://tutego.de/blog/javainsel/)

---

## Navigation

- Previous: [Arrays mit Arrays.equals(…) und Arrays.deepEquals(…) vergleichen](https://tutego.de/blog/javainsel/2017/02/arrays-mit-arrays-equals-und-arrays-deepequals-vergleichen.md)
- Next: [Lexikografische Array-Verbleiche mit compare (…) und compareUnsigned(…)](https://tutego.de/blog/javainsel/2017/02/lexikografische-array-verbleiche-mit-compare-und-compareunsigned.md)
