¿Cómo convertir un Stream de Java 8 en un Array? Guía detallada
¡Hola a todos! Acabo de empezar a aprender Java 8 y Stream API. Me encontré con una tarea simple, a primera vista: tengo una lista de strings, que convertí en un stream, filtré, ordené, y ahora quiero obtener el resultado como un array normal String[] para pasarlo a un método antiguo que solo acepta un array.
Aquí está el código que tengo:
```java
List myList = Arrays.asList("banana", "apple", "cherry", "date");
Stream myStream = myList.stream()
.filter(s -> s.startsWith("a"))
.sorted();
```
Ahora necesito obtener un String[]. Intenté llamar al método `toArray()` en el stream, pero devuelve `Object[]`, no `String[]`. Cuando intento hacer un cast del resultado:
```java
String[] resultArray = (String[]) myStream.toArray();
```
obtengo un ClassCastException en tiempo de ejecución. Parece que toArray() sin parámetros devuelve un array Object[].
Por favor, indíquenme cómo convertir correctamente un Stream en String[]. ¿Hay alguna manera?