Unveränderliche Maps erstellen
Unveränderliche Maps inline ohne Builder erstellen.
Code-Vergleich
✕ Java 8
Map<String, Integer> map = new HashMap<>();
map.put("a", 1);
map.put("b", 2);
map.put("c", 3);
map = Collections.unmodifiableMap(map);
✓ Java 9+
Map<String, Integer> map =
Map.of("a", 1, "b", 2, "c", 3);
Problem mit diesem Code entdeckt? Sag uns Bescheid.
Warum der moderne Weg gewinnt
Inline-Erstellung
Kein temporäres veränderliches Map erforderlich.
Unveränderliches Ergebnis
Die Map kann nach der Erstellung nicht mehr geändert werden.
Keine null-Schlüssel/-Werte
Null-Einträge werden sofort abgelehnt.
Alter Ansatz
Map-Builder-Muster
Moderner Ansatz
Map.of()
Seit JDK
9
Schwierigkeitsgrad
Einsteiger
JDK-Unterstützung
Unveränderliche Maps erstellen
Verfügbar
Weitgehend verfügbar seit JDK 9 (Sept. 2017)
Wie es funktioniert
Map.of() akzeptiert Schlüssel-Wert-Paare inline und gibt eine unveränderliche Map zurück. Für mehr als 10 Einträge Map.ofEntries() mit Map.entry()-Paaren verwenden.
Zugehörige Dokumentation