Les trois méthodes suivantes peuvent être utilisées lors de l'écriture du traitement lorsqu'une valeur existe / n'existe pas dans Java Facultatif.
Optional.isPresent()
Optional.ifPresent()
J'ai réfléchi à ma propre directive quant à la méthode à utiliser, dans quel cas.
Optional.isPresent()
ʻOptional.isPresent () est une méthode qui renvoie
truesi la valeur existe,
false` si ce n'est pas le cas.
En l'utilisant en combinaison avec l'instruction if ~ else, la syntaxe conventionnelle de vérification null peut être remplacée presque telle quelle.
Cependant, une telle utilisation est également dite ** "remplaçant simplement la vérification nulle, il ne sert à rien d'utiliser facultatif" **.
final Optional<String> foo = Optional.ofNullable("foo");
if (foo.isPresent()) {
System.out.println("foo=" + foo.orElse(""));
} else {
System.out.println("foo is null");
}
Optional.ifPresent() ʻOptional.ifPresent () `est une méthode qui exécute la fonction (Consumer) spécifiée par l'argument si la valeur existe. Il existe une restriction selon laquelle le traitement lorsque la valeur n'existe pas ne peut pas être décrit, et ** les variables en dehors du bloc ne peuvent pas être réécrites dans la fonction **.
final Optional<String> foo = Optional.ofNullable("foo");
foo.ifPresent(f -> System.out.println("foo=" + f));
Optional.ifPresentOrElse() ʻOptional.ifPresentOrElse () `exécute la première fonction (Consumer) spécifiée par l'argument si la valeur existe, et exécute la deuxième fonction (Runnable) spécifiée par l'argument si elle n'existe pas. La méthode. Vous pouvez décrire le traitement lorsque la valeur n'existe pas, mais il existe une restriction selon laquelle ** les variables en dehors du bloc ne peuvent pas être réécrites dans la fonction **.
final Optional<String> foo = Optional.ofNullable("foo");
foo.ifPresentOrElse(f -> System.out.println("foo=" + f), () -> System.out.println("foo is null"));
Il s'agit d'un organigramme de la méthode à utiliser, auquel cas.
<! - TODO: Recréez l'organigramme avec draw.io->
Fondamentalement, il semble bon d'utiliser ʻOptional.ifPresent () `et d'utiliser d'autres méthodes uniquement lorsque vous voulez réécrire des variables en dehors du bloc ou lorsque vous voulez décrire le traitement lorsque la valeur n'existe pas.
Recommended Posts