Maison >Java >javaDidacticiel >Comment utiliser la fonction facultative en Java pour la gestion des valeurs nulles

Comment utiliser la fonction facultative en Java pour la gestion des valeurs nulles

王林
王林original
2023-06-26 17:03:461603parcourir

Java est un langage de programmation très populaire qui fournit de nombreuses fonctions intégrées pour améliorer l'efficacité du développement. Parmi elles, la fonction facultative peut aider les programmeurs à gérer plus facilement les problèmes de valeurs nulles. Dans cet article, nous expliquerons comment utiliser la fonction facultative en Java pour la gestion des valeurs nulles.

Qu'est-ce que la fonction facultative ?

En Java8, Optionnel est une classe qui représente un conteneur éventuellement vide. Si un objet facultatif contient une valeur non nulle, la méthode isPresent() renverra true, sinon elle renverra false. La classe Optionnel fournit de nombreuses méthodes utilitaires et interfaces fonctionnelles pour rendre le traitement des valeurs nulles plus pratique.

Comment utiliser la fonction facultative ?

Tout d'abord, nous devons comprendre comment créer un objet facultatif. Nous pouvons utiliser l’une des trois méthodes statiques of(), ofNullable() et empty() pour créer des objets facultatifs. Parmi eux, la méthode of() ne peut recevoir que des valeurs non nulles. Si une valeur nulle est transmise, une NullPointerException sera levée ; la méthode ofNullable() peut accepter tout type de valeur, y compris les valeurs nulles. est transmis, il renverra un objet facultatif vide ; la méthode empty() renvoie directement un objet facultatif vide.

Optional<String> name = Optional.of("张三"); //创建一个包含非空值的Optional对象
Optional<String> emptyName = Optional.empty();//创建一个空的Optional对象
Optional<String> anotherName = Optional.ofNullable(null);//创建一个包含null值的Optional对象

Nous pouvons utiliser la méthode get() pour obtenir la valeur dans l'objet facultatif. Si la valeur de l'objet facultatif est vide, la méthode get() lancera NoSuchElementException. Par conséquent, avant d'utiliser la méthode get(), il est préférable d'utiliser la méthode isPresent() pour porter un jugement afin de garantir que la valeur de l'objet facultatif n'est pas vide.

Optional<String> name = Optional.of("张三"); 
if(name.isPresent()){
    String n = name.get();
    System.out.println(n); //输出"张三"
}

Si la valeur de l'objet facultatif est vide, nous pouvons également utiliser la méthode orElse() pour définir la valeur par défaut. Lorsque la valeur de l'objet facultatif est vide, la méthode orElse() renverra la valeur par défaut que nous avons définie.

Optional<String> name = Optional.empty(); 
String n = name.orElse("未知"); //设置默认值为"未知"
System.out.println(n); //输出"未知"

En plus de la méthode orElse(), nous pouvons également utiliser la méthode orElseGet() et la méthode orElseThrow(). Ces méthodes sont également utilisées pour résoudre le problème des valeurs nulles dans les objets facultatifs.

La méthode orElseGet() reçoit une interface Fournisseur pour générer une valeur par défaut, au lieu de transmettre une valeur par défaut déjà générée comme la méthode orElse(). La méthode

Optional<String> name = Optional.empty(); 
String n = name.orElseGet(() -> "未知"); //使用Supplier接口生成默认值
System.out.println(n); //输出"未知"

orElseThrow() est utilisée pour gérer l'exception à lever lorsque la valeur de l'objet facultatif est vide.

Optional<String> name = Optional.empty(); 
String n = name.orElseThrow(() -> new RuntimeException("值为空")); //抛出RuntimeException异常

En plus des méthodes ci-dessus, la classe Facultative fournit également de nombreuses autres méthodes, telles que map(), flatMap(), filter(), etc., qui peuvent nous aider à gérer les valeurs nulles​​dans les objets facultatifs plus commodément.

Optional<String> name = Optional.of("张三"); 
Optional<String> capitalizedName = name.map((value) -> value.toUpperCase()); //使用map()方法将值转换为大写
System.out.println(capitalizedName.get()); //输出"张三"

Résumé

Dans cet article, nous avons présenté la classe facultative en Java et comment utiliser la fonction facultative pour la gestion des valeurs nulles. L'utilisation de fonctions facultatives peut rendre notre code plus défensif et éviter l'incertitude causée par les valeurs nulles. Bien sûr, nous devons également faire attention lorsque nous utilisons la classe Optionnel pour éviter de l'utiliser comme type de données universel, sinon le code sera inutilement gonflé.

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