Avatar ·

¿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?