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 ?
No answers yet.
Connectez-vous pour laisser une réponse
Blogs
API GraphQL avec TypeScript : tutoriel étape par étape — partie 3
Programmation asynchrone en JavaScript : guide complet pour Node.js