Maison >Java >javaDidacticiel >Comment gérer des valeurs éventuellement nulles à l'aide de la classe facultative en Java ?

Comment gérer des valeurs éventuellement nulles à l'aide de la classe facultative en Java ?

WBOY
WBOYoriginal
2023-08-02 11:13:151101parcourir

Comment gérer des valeurs éventuellement nulles à l'aide de la classe facultative en Java ?

Introduction :
Dans le processus de programmation, nous rencontrons souvent des situations où nous devons gérer des valeurs éventuellement nulles. Il existe de nombreuses façons de gérer les valeurs nulles, l'une des méthodes les plus courantes consiste à utiliser la classe facultative en Java. La classe Optionnelle est une nouvelle fonctionnalité introduite dans Java 8, conçue pour gérer efficacement les situations de valeurs nulles et fournir une implémentation de code plus sûre et plus élégante. Cet article explique comment utiliser la classe facultative en Java pour gérer des valeurs éventuellement nulles et l'illustre avec des exemples de code.

  1. Qu'est-ce que le cours facultatif ?
    La classe Facultative est un objet conteneur qui peut contenir une valeur d'un certain type ou indiquer que la valeur n'existe pas. Il fournit de nombreuses méthodes pratiques pour gérer et utiliser cette valeur. La classe Facultative est conçue pour réduire l’apparition d’exceptions de pointeur nul et améliorer la lisibilité et la maintenabilité du code.
  2. Utilisation de base de la classe Facultative
    Les étapes de base pour utiliser la classe Facultative sont les suivantes :
    (1) Utilisez la méthode of() pour créer un objet Facultatif et transmettre une valeur qui peut être vide ; Utilisez la méthode isPresent() pour déterminer l'objet facultatif S'il y a une valeur dans ;
    (3) Utilisez la méthode get() pour obtenir la valeur dans l'objet facultatif
    (4) Utilisez la méthode orElse() pour définir un ; valeur par défaut, qui est utilisée pour fournir une valeur de sauvegarde lorsque l'objet facultatif est vide.
Voici un exemple simple qui montre comment utiliser la classe Optionnel pour gérer une valeur de chaîne éventuellement nulle :

import java.util.Optional;

public class OptionalExample {
    public static void main(String[] args) {
        String text = null;

        Optional<String> optional = Optional.ofNullable(text);

        if (optional.isPresent()) {
            String result = optional.get();
            System.out.println("Value exists: " + result);
        } else {
            System.out.println("Value does not exist");
        }

        String defaultValue = optional.orElse("Default Value");
        System.out.println("Value: " + defaultValue);
    }
}

Dans l'exemple ci-dessus, nous créons d'abord un texte de chaîne éventuellement nul et passons la méthode Nullable () pour l'encapsuler dans un Objet facultatif. Utilisez ensuite la méthode isPresent() pour déterminer s'il y a une valeur dans l'objet facultatif. S'il y a une valeur, nous obtenons la valeur via la méthode get() et l'imprimons. S'il n'y a aucune valeur dans l'objet facultatif, "La valeur n'existe pas" est imprimé. Enfin, utilisez la méthode orElse() pour définir une valeur par défaut, qui sera renvoyée lorsque l'objet facultatif est vide.

    Autres méthodes couramment utilisées de la classe Optionnel
  1. En plus des méthodes isPresent(), get() et orElse() dans l'exemple ci-dessus, la classe Optionnel fournit également d'autres méthodes couramment utilisées, comme indiqué ci-dessous :
(1) ifPresent(Consumer117c5a0bdb71ea9a9d0c2b99b03abe3e consumer) : S'il y a une valeur dans l'objet facultatif, effectuez l'opération spécifiée dans le consumer ;

(2) orElseGet(Supplierd203bb1ae585225d4838a2b7e3d0503e supplier) : Si le L'objet facultatif est vide, transmettez le fournisseur La méthode fournie obtient une valeur alternative ;
(3) orElseThrow(Supplier37fb9197a5b298d9c385edb358b96053 mapper) : S'il y a une valeur dans l'objet facultatif, la valeur est traitée via la méthode. fourni par le mappeur et un nouvel objet facultatif est renvoyé ;
(5) flatMap(Function30941fc60a1727b7447e2c0d2c2121b0> ; mapper) : S'il y a une valeur dans l'objet facultatif, la valeur est traitée via les méthodes fournies. par mappeur et un nouvel objet facultatif est renvoyé.

Voici un exemple qui montre comment utiliser la méthode map() pour traiter les valeurs dans un objet facultatif :

import java.util.Optional;

public class OptionalExample {
    public static void main(String[] args) {
        String text = "Hello World";

        Optional<String> optional = Optional.ofNullable(text);

        Optional<String> transformed = optional.map(s -> s.toUpperCase());

        transformed.ifPresent(s -> System.out.println("Transformed Value: " + s));
    }
}

Dans l'exemple ci-dessus, nous créons d'abord un texte de chaîne éventuellement nul et le passons via la méthode ofNullable() l'encapsule dans un objet facultatif. Utilisez ensuite la méthode map() pour traiter la valeur dans l'objet facultatif, convertissez-la en lettres majuscules et stockez-la dans un nouvel objet facultatif transformé. Enfin, utilisez la méthode ifPresent() pour déterminer s'il existe une valeur dans l'objet transformé et imprimez-la.

Résumé : 

Grâce à l'introduction de cet article, nous avons appris comment la classe facultative en Java gère les valeurs nulles possibles. L'utilisation de la classe Optionnel peut réduire efficacement l'apparition d'exceptions de pointeur nul et améliorer la lisibilité et la maintenabilité du code. Dans le processus de programmation actuel, nous devons utiliser pleinement diverses méthodes de la classe Optionnel et gérer les éventuelles valeurs nulles de manière raisonnable pour améliorer la qualité et la stabilité du code.


Références :

1. « Explication détaillée de l'utilisation de Java 8 facultatif » : https://www.cnblogs.com/wang-meng/p/7003935.html

2. " : https://www.jianshu.com/p/831b6ff0c284

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