Obtenir des valeurs de carte nulles en Java

Objectif de cet article

C'est une exception de pointeur nul qui vient avec Java, mais je voulais obtenir la valeur de la manière la plus sûre possible, alors cette fois j'ai essayé la méthode pour obtenir la valeur de Map.

Carte à vérifier

Map<String, Boolean> map = new HashMap<String, Boolean>() {
  {
    put("true_label", true);
    put("false_label", false);
    put("null_label", null);
  }
};

La carte # obtient normalement

assertTrue(map.get("true_label"));
assertFalse(map.get("false_label"));

assertNull(map.get("null_label"));
assertNull(map.get("invalid_label")); //Clés qui n'existent pas dans la carte

Carte Java 8 # getOrDefault

Vous pouvez obtenir une valeur alternative si vous n'avez pas la clé.

assertTrue(map.getOrDefault("true_label", false));
assertFalse(map.getOrDefault("false_label", false));
assertFalse(map.getOrDefault("invalid_label", false)); //Vous pouvez obtenir une valeur alternative si vous n'avez pas la clé.

assertNull(map.getOrDefault("null_label", false)); //Malheureusement ça ne devient pas faux!!

Java 8 Facultatif # ofNullable

assertTrue(Optional.ofNullable(map.get("true_label")).orElse(false));
assertFalse(Optional.ofNullable(map.get("false_label")).orElse(false));
assertFalse(Optional.ofNullable(map.get("null_label")).orElse(false)); //Autre valeur false
assertFalse(Optional.ofNullable(map.get("invalid_label")).orElse(false)); //Autre valeur false

ObjectUtils # defaultIfNull dans Apache.commons.lang3

Facultatif peut être bien, mais juste au cas où

assertTrue(ObjectUtils.defaultIfNull(map.get("true_label"), false));
assertFalse(ObjectUtils.defaultIfNull(map.get("false_label"), false));
assertFalse(ObjectUtils.defaultIfNull(map.get("null_label"), false)); //Autre valeur false
assertFalse(ObjectUtils.defaultIfNull(map.get("invalid_label"), false)); //Autre valeur false

Recommended Posts

Obtenir des valeurs de carte nulles en Java
Obtenir des informations EXIF en Java
Programme Null-safe en Java (Eclipse)
[Java] Obtenir KClass en Java [Kotlin]
Trier les valeurs de la carte par ordre croissant des clés dans Java TreeMap
Utilisez des clés composites dans Java Maps.
JAVA (Carte)
Obtenir des attributs et des valeurs à partir d'un fichier XML en Java
Restez coincé dans un Java Primer
[Java] Obtenir des éléments List / Map avec Iterator
Carte en double triée par clé en Java
Mapper sans utiliser de tableau en java
Inverser la clé de la valeur dans la carte Java
Comment obtenir la date avec Java
Obtenir l'historique du serveur Zabbix en Java
Exemple de code pour obtenir les valeurs de type JDBC clés dans la base de données Java + H2
Partition en Java
Changements dans Java 11
Janken à Java
[Java] Comparaison de cartes
Taux circonférentiel à Java
FizzBuzz en Java
Comment obtenir une classe depuis Element en Java
Mappez les requêtes GET sur des objets complexes dans Spring.
Obtenez unixtime (secondes) de ZonedDateTime dans Scala / Java
Bibliothèque "OSHI" pour acquérir des informations système avec Java
[Java] Obtenir plusieurs valeurs à partir d'une valeur de retour
[Java] Obtenir KFunction à partir de la méthode / du constructeur en Java [Kotlin]
S'entendre avec les conteneurs Java dans Cloud Run
Exemple de code pour obtenir les valeurs de type SQL clés dans Java + MySQL 8.0
Obtenez l'URL de la destination de la redirection HTTP en Java
Lire JSON en Java
Implémentation de l'interpréteur par Java
Faites un blackjack avec Java
Application Janken en Java
NVL-ish guy en Java
Joindre des tableaux en Java
[Java] Obtenir des dates diverses
"Hello World" en Java
Interface appelable en Java
Commentaires dans la source Java
Fonctions Azure en Java
Formater XML en Java
Source utilisée pour obtenir l'URL de la source de redirection en Java
Simple htmlspecialchars en Java
Implémentation Boyer-Moore en Java
Hello World en Java
Obtention des objets Locale pour tous les paramètres régionaux disponibles en Java
Utiliser OpenCV avec Java
Enum Reverse Map Java
Mémorandum WebApi avec Java
[Java] Récupère le fichier dans le fichier jar quel que soit l'environnement
Détermination de type en Java
Exécuter des commandes en Java (ping)
[Java] Initialisation, ajout, acquisition
Divers threads en java
Implémentation du tri de tas (en java)
API Zabbix en Java
Bibliothèque de cartes bidirectionnelles Java