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. p> est un moyen d'éviter le test de (e-> e.getname! = null)? P> P>
3 Réponses :
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())
Ce problème, le nom que je ne sais pas si c'est null sûr
@RODIK Notez la logique: si nom code> est
null code>, puis
abstractpersonnel code> sera
en option. / code>, ce qui implique que
Personnel Code> aura la valeur de
null code>. Donc, après cette ligne
nom de chaîne = personne.getname (); code>, vous pouvez faire une chèque null:
si (nom == null) retourner; code> maintenant, vous êtes Assurez-vous que
nom code> est pas null b>. Donc, vous pouvez inverser la condition en toute sécurité selon la recommandation de @HARSHAL Khahahane
Inverser la condition: nom.equals (e.getname ()) code>
Comment cette réponse est-elle un moyen d'éviter le test de (e-> e.getname! = Null)? I>?
Vous pouvez vérifier avec la
Assurez-vous que ce n'est pas
null code> et vous pouvez l'éviter. Si cela peut être
null code>, vous devez vérifier si vous faites face à une NPE.