Wie erstellt man Unmodifiable
List / Set / Map mit Collectors.toList/toSet/toMap
, da toList
(und ähnliches) Dokumente wie folgt sind:
Es gibt keine Garantien für den Typ , die Änderbarkeit, die Serialisierbarkeit oder die Thread-Sicherheit der zurückgegebenen Liste
Vor java-10 müssen Sie ein Function
mit Collectors.collectingAndThen
angeben, zum Beispiel:
Zusätzlich, um einen dokumentierten Unterschied zwischen den beiden Implementierungen zu eliminieren ( collectingAndThen
vs toUnmodifiableList
):
%Vor%Der
Collectors.toUnmodifiableList
würde einen Collector zurückgeben verbietet NULL-Werte und wirdNullPointerException
ausgeben, wenn dies der Fall ist präsentiert mit einemnull
Wert.
und das liegt auch daran, dass die erste eine Instanz von Collections.UnmodifiableRandomAccessList
erstellt, während die zweite eine Instanz von ImmutableCollections.ListN
erstellt, die zur Liste der Attribute hinzufügt, die mit statische Fabrikmethoden.
Tags und Links java java-stream java-10