Copie immutable de collections
Crée une copie immutable de n'importe quelle collection en un seul appel.
Comparaison de Code
✕ Java 8
List<String> copy =
Collections.unmodifiableList(
new ArrayList<>(original)
);
✓ Java 10+
List<String> copy =
List.copyOf(original);
Un problème avec ce code ? Dites-le nous.
Pourquoi la méthode moderne gagne
Copie intelligente
Ignore la copie si la source est déjà immutable.
Un seul appel
Sans construction manuelle d'ArrayList + wrapper.
Copie défensive
Les modifications de l'original n'affectent pas la copie.
Ancienne Approche
Copie manuelle + wrapper
Approche Moderne
List.copyOf()
Depuis JDK
10
Difficulté
Débutant
Support JDK
Copie immutable de collections
Disponible
Disponible depuis JDK 10 (mars 2018)
Comment ça fonctionne
List.copyOf(), Set.copyOf() et Map.copyOf() créent des instantanés immutables de collections existantes. Si la source est déjà une collection immutable, aucune copie n'est effectuée.
Documentation Associée