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.
Map<String, Boolean> map = new HashMap<String, Boolean>() {
{
put("true_label", true);
put("false_label", false);
put("null_label", null);
}
};
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
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!!
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
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