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
Mary-Kate Olsenoriginal
2024-10-28 02:43:31584parcourir

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();

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) ...

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());
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!

Déclaration:
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