Collections Einsteiger

Eine unveränderliche Kopie einer beliebigen Kollektion mit einem einzigen Aufruf erstellen.

✕ Java 8
List<String> copy =
    Collections.unmodifiableList(
        new ArrayList<>(original)
    );
✓ Java 10+
List<String> copy =
    List.copyOf(original);
Problem mit diesem Code entdeckt? Sag uns Bescheid.

Intelligente Kopie

Die Kopie wird übersprungen, wenn die Quelle bereits unveränderlich ist.

📏

Ein einziger Aufruf

Kein manuelles ArrayList-Erstellen und Verpacken.

🛡️

Defensive Kopie

Änderungen am Original wirken sich nicht auf die Kopie aus.

Alter Ansatz
Manuelle Kopie + Wrapper
Moderner Ansatz
List.copyOf()
Seit JDK
10
Schwierigkeitsgrad
Einsteiger
Kollektionen unveränderlich kopieren
Verfügbar

Weitgehend verfügbar seit JDK 10 (März 2018)

List.copyOf(), Set.copyOf() und Map.copyOf() erstellen unveränderliche Momentaufnahmen bestehender Kollektionen. Wenn die Quelle bereits eine unveränderliche Kollektion ist, wird keine Kopie erstellt.

Teilen 𝕏 🦋 in