Collections Principiante

Convierte streams en arrays tipados con una referencia a método.

✕ Pre-Streams
List<String> list = getNames();
String[] arr = new String[list.size()];
for (int i = 0; i < list.size(); i++) {
    arr[i] = list.get(i);
}
✓ Java 8+
String[] arr = getNames().stream()
    .filter(n -> n.length() > 3)
    .toArray(String[]::new);
¿Ves un problema con este código? Cuéntanos.
🎯

Tipado seguro

Sin cast a Object[] — el tipo del array es correcto.

🔗

Encadenable

Funciona al final de cualquier pipeline de stream.

📏

Conciso

Una sola expresión reemplaza el bucle manual.

Enfoque Antiguo
Copia manual de array
Enfoque Moderno
toArray(generator)
Desde JDK
8
Dificultad
Principiante
toArray tipado en streams
Disponible

Ampliamente disponible desde JDK 8 (marzo 2014)

El método toArray(IntFunction) crea un array correctamente tipado a partir de un stream. El generador (String[]::new) indica al stream qué tipo de array crear.

Compartir 𝕏 🦋 in