[JAVA] Convertir un tableau potentiellement nul en flux

Je suis un peu inquiet à chaque fois, alors je vais l'écrire sous forme de mémorandum

Résumé

Tout ce que vous avez à faire est de vous rappeler l'idée de renvoyer un flux vide avec orElse

Résumé


Optional.ofNullable(arr)
  .map(Arrays::stream).orElse(Stream.empty())
  .forEach(System.out::println);

Détails

Chose que tu veux faire

Je souhaite diffuser un tableau qui peut être nul.

problème

Étendues pour les instructions, ʻArrays # streametStream # of` ne sont pas nuls sûrs. Mais il est difficile de vérifier null à chaque fois.

Lors de l'utilisation de l'instruction for


String[] arr = null;

for (String s : arr) { //Ici NullPointerException
  System.out.println(s);
}

Lors de l'utilisation de tableaux


String[] arr = null;

Arrays.stream(arr) //Ici NullPointerException
  .forEach(System.out::println);

// Stream#des tableaux également en interne#Semble utiliser stream
Stream.of(arr) //Ici NullPointerException
  .forEach(System.out::println);

Utiliser facultatif

Lors de l'utilisation en option


String[] arr = null;

Optional.ofNullable(arr)     //Facultatif à ce stade<String[]>
     .map(Arrays.stream)     //Facultatif à ce stade<Stream<String>>
     .orElse(Stream.empty()) //Diffuser à ce stade<String>,Diffusez le contenu du tableau
     .forEach(System.out::println);

Recommended Posts

Convertir un tableau potentiellement nul en flux
Comment convertir un tableau de chaînes en un tableau d'objets avec l'API Stream
Convertissez une chaîne en un tableau caractère par caractère avec Swift
[Java] Comment convertir un élément d'un tableau de type String en type Int
Comment utiliser un tableau pour la clé TreeMap
Comment convertir un fichier en tableau d'octets en Java
Une valeur nulle est entrée lors de l'affectation à un tableau
[Java] Je souhaite convertir un tableau d'octets en un nombre hexadécimal
Convertir un tableau d'octets Java en une chaîne hexadécimale
Comment changer une chaîne dans un tableau en un nombre dans Ruby
Je veux écrire une boucle qui fait référence à un index avec l'API Stream de Java 8
Rechercher une instruction Switch qui peut être convertie en une expression Switch
[Java] Convertir ArrayList en tableau
Convertir un tableau bidimensionnel au format csv avec l'API Java 8 Stream
Convertir un tableau de chaînes en une liste d'entiers en Java
Vous souhaitez supprimer une IOException de Stream? dans ce cas
Lorsque vous recevez un appel, envoyez un SMS à ce numéro
Convertir l'alphabet en 26 base + environ la longueur du tableau
Comment créer un tableau Java
[Petite histoire] Convertir Stream en Iterable
[Java] Convertit un tableau en ArrayList * Attention
Ne pas être un oncle statique
Convertir le tableau 2D de Swift en tableau 2D de C
[Java] Comment transformer un tableau à deux dimensions avec une instruction for étendue
Notez que VS Code + JUnit 5 peut être utilisé sous Windows 10
Je veux ForEach un tableau avec une expression Lambda en Java
Il semble y avoir un mot «de-Java».
Comment ajouter un nouveau hachage / tableau
Un programme qui calcule la puissance de 2 à 100
[Java] Convertit null du type Object en type String
Pourquoi nul est dit mauvais
Correspond à une propriété dont le type devient un tableau lorsqu'il est vide à l'aide de JsonDeserializer
[Android] Je souhaite créer un ViewPager pouvant être utilisé pour les didacticiels
Rails6 Je veux créer un tableau de valeurs avec une case à cocher
Une histoire que les personnes qui ont fait iOS solidement peuvent être accro à la mise en œuvre de Listener lors du passage à Android