0
votes

Comment éviter les valeurs nulles dans un flux

Nous sommes dans le cas où nous avons une donnée corrompue x dans la liste et où la présence de cette donnée corrompue x empêche une opération sur les données Y du même type que X.. Ce n'est pas normal, et nous devons protéger le code de sorte que la présence des données corrompues x ne bloque pas l'utilisation d'autres données valides.

i Utilisé en option avec un filtre de commande, pour filtrer si le nom est null nous Skip. xxx

est un moyen d'éviter le test de (e-> e.getname! = null)?


1 commentaires

Assurez-vous que ce n'est pas null et vous pouvez l'éviter. Si cela peut être null , vous devez vérifier si vous faites face à une NPE.


3 Réponses :


3
votes

Il suffit d'inverser la condition, si vous êtes sûr que la variable "nom" est Null Safe. Par exemple, au lieu de

name.equals(e.getName())


2 commentaires

Ce problème, le nom que je ne sais pas si c'est null sûr


@RODIK Notez la logique: si nom est null , puis abstractpersonnel sera en option. / code>, ce qui implique que Personnel aura la valeur de null . Donc, après cette ligne nom de chaîne = personne.getname (); , vous pouvez faire une chèque null: si (nom == null) retourner; maintenant, vous êtes Assurez-vous que nom est pas null . Donc, vous pouvez inverser la condition en toute sécurité selon la recommandation de @HARSHAL Khahahane



2
votes

Inverser la condition: nom.equals (e.getname ()) xxx


1 commentaires

Comment cette réponse est-elle un moyen d'éviter le test de (e-> e.getname! = Null)? ?



0
votes

Vous pouvez vérifier avec la facultative.fnullable ( t ) comme celui-ci

  • Vérifiez que la valeur n'est pas NULL
  • Vérifiez auprès de votre chaîne (la valeur de la liste et votre chaîne souhaitée sont égales ou non) xxx

0 commentaires