Copia inmutable de colecciones
Crea una copia inmutable de cualquier colección en una sola llamada.
Comparación de Código
✕ Java 8
List<String> copy =
Collections.unmodifiableList(
new ArrayList<>(original)
);
✓ Java 10+
List<String> copy =
List.copyOf(original);
¿Ves un problema con este código? Cuéntanos.
Por qué gana la forma moderna
Copia inteligente
Omite la copia si la fuente ya es inmutable.
Una sola llamada
Sin construcción manual de ArrayList + envoltorio.
Copia defensiva
Los cambios en el original no afectan a la copia.
Enfoque Antiguo
Copia manual + envoltorio
Enfoque Moderno
List.copyOf()
Desde JDK
10
Dificultad
Principiante
Soporte JDK
Copia inmutable de colecciones
Disponible
Ampliamente disponible desde JDK 10 (marzo 2018)
Cómo funciona
List.copyOf(), Set.copyOf() y Map.copyOf() crean instantáneas inmutables de colecciones existentes. Si la fuente ya es una colección inmutable, no se realiza ninguna copia.
Documentación Relacionada