


Comment utiliser la classe facultative pour éviter NullPointerException en Java?
Sep 25, 2025 am 06:04 AMLa classe facultative est utilisée pour gérer en toute sécurité les valeurs qui peuvent être nuls, en évitant les exceptions de pointeur nul. 1. Créez une instance en utilisant Facultatif.Ofnullable pour gérer les valeurs nulles. 2. Vérifiez et accédez aux valeurs via une sécurité ISPRESENT ou IFPRESENT pour éviter un appel direct pour provoquer des exceptions. 3. Utilisez Orelse et Orelseget pour fournir des valeurs par défaut, ou utilisez OrelSethrow pour lancer une exception personnalisée. 4. Convertir ou filtrer les valeurs par le biais des opérations de la cha?ne de carte et de filtre pour améliorer la lisibilité du code et la robustesse.
La classe facultative de Java, introduite dans Java 8, est un conteneur qui peut ou non détenir une valeur non nulle. Il aide les développeurs à écrire un code plus propre et plus s?r en gérant explicitement la présence ou l'absence de valeurs, réduisant ainsi le risque de nulpointerException .
1. Créer des instances facultatives
Utilisez des méthodes d'usine statiques pour créer des objets optionnels en fonction de l'existence d'une valeur.
- Facultatif.of (valeur) : Utilisez lorsque vous êtes s?r que la valeur n'est pas nulle. Lance nullpointerException si la valeur est nul.
- Facultatif.OfNullable (valeur) : Utilisez lorsque la valeur peut être nul. Renvoie un facultatif vide si la valeur est nul.
- Facultatif.Empty () : Renvoie explicitement une instance facultative vide.
Exemple:
String name = "Alice"; FACPATIONNEL <string> FORTEALNAME = FACTIONAL.OFNULLABLE (NAME); Facultatif <string> videName = facultatif.ofNullable (null); // vide facultatif </string></string>
2. Vérifier et récupérer les valeurs en toute sécurité
N'appelez jamais .get () sans vérifier si une valeur est présente - il lance NosuchementElementException si le facultatif est vide.
- .ispresent () : vérifie si une valeur existe.
- .ifpresent (consommateur) : exécute un bloc de code uniquement si la valeur est présente.
Exemple:
if (facultatifalName.ispresent ()) { System.out.println ("Hello", facultatifalName.get ()); } // meilleure approche en utilisant ifpresent facultatifalName.ifpresent (name -> System.out.println ("Hello", nom));
3. Fournir des valeurs par défaut
Utilisez des mécanismes de secours lorsque le facultatif est vide.
- .OrELSE (defaultValue) : renvoie la valeur si elle est présente, sinon renvoie la valeur par défaut.
- .OrelSeget (fournisseur) : Identique à Orelse, mais Lazy évalue le fournisseur (plus efficace si la création par défaut est co?teuse).
- .OrelSethrow (exceptionSupplier) : lance une exception si aucune valeur n'est présente.
Exemples:
String result1 = facultatifalName.orelse ("invité"); String result2 = optionalName.OrelSeget (() -> fetchDefaultName ()); String result3 = facultatifalName.OrelSethRow (() -> new illégalArgumentException ("Nom est manquant"));
4. Opérations de cha?nage avec carte et filtre
Transformez ou filtrez la valeur à l'intérieur en option sans vérifier manuellement NULL.
- .map (fonction) : applique une fonction à la valeur si elle est présente et renvoie un nouveau facultatif.
- .Filter (Predicat) : Renvoie la facultation si la valeur correspond à la condition, sinon renvoie vide.
Exemple:
Facultatif <string> uppername = optionalName .filter (name -> name.length ()> 3) .map (String :: ToupperCase); uppername.ifpresent (System.out :: println); // imprime si le nom est assez long </string>
L'utilisation de favories en option des favoris explicites des cas nuls et conduit à un code plus lisible et robuste. Au lieu de laisser les NPE écraser votre programme, vous définissez un comportement clair pour les valeurs manquantes. Fondamentalement, cela déplace la responsabilité de lancer des exceptions à la gestion gracieuse absolument.
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!

Outils d'IA chauds

Undress AI Tool
Images de déshabillage gratuites

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Stock Market GPT
Recherche d'investissement basée sur l'IA pour des décisions plus intelligentes

Article chaud

Outils chauds

Bloc-notes++7.3.1
éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

La classe facultative est utilisée pour gérer en toute sécurité les valeurs qui peuvent être nuls, en évitant les exceptions de pointeur nul. 1. Créez une instance en utilisant Facultatif.Ofnullable pour gérer les valeurs nulles. 2. Vérifiez et accédez aux valeurs via une sécurité ISPRESENT ou IFPRESENT pour éviter un appel direct pour provoquer des exceptions. 3. Utilisez Orelse et Orelseget pour fournir des valeurs par défaut, ou utilisez OrelSethrow pour lancer une exception personnalisée. 4. Convertir ou filtrer les valeurs par le biais des opérations de la cha?ne de carte et de filtre pour améliorer la lisibilité du code et la robustesse.

Utilisez la méthode getClass () pour obtenir la classe d'exécution de l'objet, tel que str.getClass () pour renvoyer l'objet de classe; Pour les types, vous pouvez utiliser directement la syntaxe String.class. La classe de classe fournit des méthodes telles que getName (), getIMPLename () pour obtenir des informations de classe, telles que num.getClass (). GetIMPlename () pour sortir entier.

Atwo-dimensionalArrayinjavaisanArrayofarrays, déclaréwithtwobrackets, comment [] [] matrix, et canneinitializedwithvaluesorusingNew; Forexample, in [] [] matrix = {{1,2}, {3,4}}; Createsa3x2Matrix.

ThecurrentworkingDirectoryInjavacanBeObtedUsingSystem.getProperty ("user.dir"), qui araturnSthesLoUtepathwhereTheProgramwaslaunched; Alternativement, Paths.get (""). TOABSOLUTEPATH ().

AsingletOnclassinjavaensuresEnlyOneinstanceyxists à travers le lifecycycledyusingaprivateconstructure de laapplication, l'aprivatestaticstance, la méthode et la méthode de la fleulation () de l'aprivatestatic.

GénériqueInjavaprovideCompile-TimetypePesafetyAndeliminateTheedForcastingByallowingClasses, Interfaces etMethodstooporeAtyPeParameters; Forexample, UsingListenSuresEnlyStringScanBeadded, empêchant letitimeClassCascexceptions; générique.

ToImplementAComParatoratorInjava, createAaclassorLambdathatoverRidestheCompareMethodtodefinesortLogic.forexample, withapersonclasshavingnameandageFields, définitageCaparatorImpilingComparatorandOverrideCaretosortByageusing Integer.compare (P1.aa

Les caches et les cookies peuvent être nettoyés pour des sites Web spécifiques afin de résoudre les exceptions de chargement de page UC de navigateur. 1. Accédez aux paramètres → Confidentialité et sécurité → Gestion des données du site Web, recherchez le site Web cible et effacez ses données; 2. Utilisez le mode de navigation invisible pour accéder au site Web du problème pour éviter la rétention des données; 3. Réinitialisez le stockage en désactivant et en activant les autorisations de site Web et en forcez l'ancien cache.
