Je suis un peu inquiet à chaque fois, alors je vais l'écrire sous forme de mémorandum
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);
Je souhaite diffuser un tableau qui peut être nul.
Étendues pour les instructions, ʻArrays # streamet
Stream # 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);
Stream # empty
renvoie un flux videLors 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