Avatar ·

Comment convertir un Stream Java 8 en tableau (Array) ? Guide détaillé

Bonjour à tous ! Je viens de commencer à apprendre Java 8 et le Stream API. Je suis tombé sur une tâche simple, à première vue : j'ai une liste de chaînes que j'ai transformée en stream, filtrée, triée, et maintenant je veux obtenir le résultat sous forme d'un tableau String[] classique pour le passer à une ancienne méthode qui n'accepte qu'un tableau. Voici le code que j'ai : ```java List myList = Arrays.asList("banana", "apple", "cherry", "date"); Stream myStream = myList.stream() .filter(s -> s.startsWith("a")) .sorted(); ``` Maintenant, j'ai besoin d'obtenir un String[]. J'ai essayé d'appeler la méthode `toArray()` sur le stream, mais elle retourne `Object[]`, pas `String[]`. Quand j'essaie de caster le résultat : ```java String[] resultArray = (String[]) myStream.toArray(); ``` j'obtiens une ClassCastException à l'exécution. Il semble que toArray() sans paramètres retourne un tableau Object[]. Dites-moi, s'il vous plaît, comment convertir correctement un Stream en String[] ? Existe-t-il un moyen ?