Utilisation de base de Java Facultatif Partie 1

Qu'est-ce qui est facultatif? C'est un article de mémoire pour moi à l'époque. Le type facultatif est un type que vous pouvez voir en un coup d'œil que "il peut contenir null" comme une idée approximative. Tout d'abord, un simple exemple de vérification nulle

		if (name != null) {
			System.out.println(name);
		} else {
			System.out.println("Je n'ai pas de nom");
		}

Bien sûr le résultat

//appeler"J'ai un nom"Lorsqu'il est attribué à
J'ai un nom

//Si le nom est nul
Je n'ai pas de nom

Si vous faites cela avec Optionnel, cela ressemble à ceci

		Optional.ofNullable(name).ifPresentOrElse(result -> System.out.println(result),
				() -> System.out.println("Je n'ai pas de nom"));

Dans ce cas également, le résultat est le suivant

//appeler"J'ai un nom"Lorsqu'il est attribué à
J'ai un nom

//Si le nom est nul
Je n'ai pas de nom

En premier lieu, il y a plus de moyen d'écrire une instruction if normale ... Ou quelque chose comme ça, si vous le mettez de côté et expliquez ce que vous faites ci-dessus Optional.ofNullable(name) Si la valeur de l'argument n'est pas nulle dans la partie de, l'Optinal qui stocke la valeur est retourné. Comme son nom l'indique, c'est une méthode qui autorise null, et si elle est nulle, elle retourne un facultatif vide généré par la méthode vide facultative. Comparez ce vide facultatif, == nouveau avec le vide facultatif ... Je ne fais rien de tel.

C'est là que ifPresent, une méthode de la classe Optional, apparaît. Donc, j'ai pensé à utiliser ifPresent cette fois, mais j'ai vu de nombreux articles disant que ifPresent ne devrait pas être utilisé à divers endroits. Apparemment, si l'Optionnel que j'ai obtenu en premier était vide, la raison principale était que le traitement else était gênant. Donc, cette fois, j'ai utilisé *** ifPresentOrElse *** nouvellement ajouté à partir de java9. *** ifPresentOrElse (résultat-> System.out.println (résultat), () -> System.out.println ("sans nom")) *** C'est une méthode facile à comprendre en un coup d'œil et qui peut trier le traitement selon que l'Optionnel qui a été acquis en premier est vide.

Comme ça, traitez la valeur qui peut être nulle sans s'approcher de if null etc. Je pense qu'il a l'avantage non seulement de pouvoir écrire proprement, mais aussi d'éviter d'oublier de vérifier les valeurs nulles.

Jusqu'à présent cette fois, qu'est-ce qui est facultatif?

Recommended Posts

Utilisation de base de Java Facultatif Partie 1
Revue Java ③ (utilisation de base des tableaux / type de référence)
Utilisation super basique d'Eclipse
[Java] Résumé de base de Java non couvert par Progate ~ Partie 1 ~
[Java] Résumé de base de Java non couvert par Progate ~ Partie 2 ・ Liste ~
Flux de traitement de base de Java Stream
[Connaissance de base de Java] Portée des variables
Structure de base du code source Java
Profilage avec Java Visual VM ~ Utilisation de base ~
Examiner l'utilisation de la mémoire des éléments Java
[Java] Résumé personnel des instructions conditionnelles (basique)
Connaissance de base de la rédaction de notes de développement Java
Utilisation de base et exemple de code d'énumération
[Connaissance de base de Java] À propos de la conversion de type
Grammaire Java de base
Java Type facultatif
Étudier Java 8 (facultatif)
java pratique partie 1
Connaissances de base Java 1
[Java] Structure de base
[Java] [Basic] Glossaire
Grammaire de base Java
Grammaire de base Java
[Java] Présentation de Java
Exercice Java [basique]
[Java] Mémorandum facultatif
Java 9 Facultatif :: stream
[Java] Résumé personnel des classes et méthodes (basique)
[Java] utilise facultatif au lieu de if (hoge! = Null) {...}
[Java] La partie déroutante de String et StringBuilder
Les ingénieurs Java comparés pour apprendre la grammaire de base de Ruby maintenant Partie 1 (Basique, Variables)
Collection expirée de java
Les ingénieurs Java comparent maintenant pour apprendre la grammaire de base de Ruby Part 2 (classes, méthodes)
Caractéristiques prévues de Java
Introduction de Docker - Partie 1--
Un examen rapide de Java appris en classe part4
NIO.2 examen de Java
mémo de connaissances de base java
[Java] Type de données ①-Type de base
Utilisation minimale de Mockito
étude dbpedia partie 25
Comment utiliser les variables Java
Manipulation de base de la date Java
Afficher la documentation Java de Java Facultatif
Conventions de dénomination Java de base
Histoire des annotations Java
java (mérites du polymorphisme)
Mémo d'apprentissage Java (basique)
Introduction à Java pour les débutants Connaissance de base du langage Java ①
Étudier Java ~ Partie 8 ~ Cast
Un examen rapide de Java appris en classe part3
Un examen rapide de Java appris en classe part2
Examen NIO de Java
[Java] Notes de méthode de base
[Java] Trois fonctionnalités de Java
Résumé du support Java 2018
Récapitulez les éléments supplémentaires de la classe Optional dans Java 9
Remplacez seulement une partie de l'hôte URL par java
Types de données de base Java
Concepts de base Java OOps