Maison > Java > javaDidacticiel > Comment le type facultatif de Java peut-il simplifier la gestion des valeurs nulles dans les chaînes d'appels « Get » ?

Comment le type facultatif de Java peut-il simplifier la gestion des valeurs nulles dans les chaînes d'appels « Get » ?

Mary-Kate Olsen
Libérer: 2024-10-28 02:43:31
original
628 Les gens l'ont consulté

How Can Java's Optional Type Simplify Handling Nulls in Chains of

Naviguer en toute sécurité dans les chaînes d'appels "Get" avec facultatif

Dans la programmation Java, il est courant de rencontrer des chaînes d'appels "get", comme ce qui suit :

house.getFloor(0).getWall(WEST).getDoor().getDoorknob();
Copier après la connexion

Pour éviter les NullPointerExceptions potentielles, les développeurs ont souvent recours à des vérifications nulles verbeuses :

if (house != null &&& house.getFloor(0) &&& house.getFloor(0).getWall(WEST) != null &&& house.getFloor(0).getWall(WEST).getDoor() != null) ...
Copier après la connexion

Cette approche devient encore plus lourde avec des chaînes d'appels plus longues. Existe-t-il une solution plus élégante ?

Oui, avec l'introduction du type facultatif dans Java 8, la gestion des valeurs nulles dans les chaînes d'obtentions est devenue beaucoup plus facile.

Utilisation d'Optionnel pour la gestion des valeurs nulles

Utilisation d'Optionnel pour la gestion des valeurs nulles

Optional est une classe wrapper qui représente une valeur facultative. Il peut contenir une valeur non nulle ou être vide.

Pour utiliser Facultatif pour la gestion des valeurs nulles dans les chaînes d'obtentions, nous pouvons utiliser ses capacités de chaînage avec la méthode map().

Optional.ofNullable(house)
        .map(house -> house.getFloor(0))
        .map(floorZero -> floorZero.getWall(WEST))
        .map(wallWest -> wallWest.getDoor())
        .map(door -> wallWest.getDoor());
Copier après la connexion
Considérez l'exemple suivant :

Ce code crée une chaîne d'objets facultatifs, chacun représentant le résultat de l'appel get correspondant.

Avantages de l'utilisation de facultatif

    L'utilisation d'Optional offre plusieurs avantages :
  • Les vérifications nulles sont gérées automatiquement :
  • Optional gère automatiquement les vérifications nulles, éliminant ainsi le besoin de vérifications nulles explicites dans votre code.
  • Safe Get Calls :
  • Si l'un des appels get renvoie null, l'option facultative correspondante sera vide, empêchant les NullPointerExceptions.
  • API Fluent :
Les capacités de chaînage of Facultatif fournit un moyen concis et lisible de gérer les valeurs nulles dans les chaînes de get.

Conclusion

Si vous ne parvenez pas à éviter d'enfreindre la loi de Déméter, l'utilisation de Facultatif est une approche fortement recommandée pour naviguer en toute sécurité dans les chaînes d'appels « get ». Il fournit un moyen élégant et efficace de gérer les valeurs nulles, garantissant la robustesse et la fiabilité de votre code.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal