[Java] utilise facultatif au lieu de if (hoge! = Null) {...}

Je ne savais pas comment utiliser Optional, mais j'ai compris que c'était quelque chose comme ça.

Je veux exécuter la méthode de hoge uniquement lorsque la variable hoge n'est pas null

Voie conventionnelle

python


if (hoge != null) {
    hoge.fuga();
}

Comment utiliser ʻOptional`

python


Optional
    .ofNullable(hoge)
    .ifPresent(o -> o.fuga());

Lequel est le plus facile à voir? : sourire:

Si la variable «hoge» n'est pas «null», le résultat de l'exécution de la méthode de «hoge» est renvoyé.

Voie conventionnelle

python


fugo = hoge != null ? hoge.fugo() : null;

Comment utiliser ʻOptional`

python


fugo = Optional
    .ofNullable(hoge)
    .map(o -> o.fugo())  // Optional<?>Sera retourné, donc
    .orElse(null);       //Faire en sorte que orElse renvoie la valeur elle-même ou la valeur par défaut (nulle ici)

Est-il plus facile de voir l'opérateur ternaire à ce niveau? : sourire:

Si la variable «hoge» n'est pas «null», appelez la méthode de «hoge», et si le résultat de la méthode n'est pas «null», appelez la méthode davantage.

Je ne sais pas ce que ça dit. Regardez le code.

Voie conventionnelle

python


instant = null;

if (hoge != null) {
    date = hoge.getDate();

    if (date != null) {
        instant = date.toInstant();
    }
}

Ou que diriez-vous de cela?

python


instant = hoge != null
    ? (hoge.getDate() != null
        ? hoge.getDate().toInstant()
        : null) 
    : null;

Comment utiliser ʻOptional`

instant = Optional
  .ofNullable(hoge)
  .map(o -> o.getDate())     
  .map(d -> d.toInstant())   
  .orElse(null);

Lequel est le plus facile à voir? : sourire:

Recommended Posts

[Java] utilise facultatif au lieu de if (hoge! = Null) {...}
[Java] Pourquoi utiliser StringUtils.isEmpty () au lieu de String.isEmpty ()
[Sécurité Null] Mémo de comparaison Kotlin Java Utilisation correcte de la sécurité Null
Comment utiliser java Facultatif
utiliser enum au lieu de la constante int
Utilisation de base de Java Facultatif Partie 1
[Java] Cela peut être heureux si la valeur de retour de la méthode qui retourne null est facultative <>
Élément 36: utiliser EnumSet au lieu de champs de bits
Point 37: Utilisez EnumMap au lieu de l'indexation ordinale
[Java] [Maven3] Résumé de l'utilisation de Maven3
[Java] Découvrez comment utiliser correctement Optional
Utilisez jenv pour activer plusieurs versions de Java
[Java] Utilisation de final dans la déclaration de variable locale
Java Type facultatif
Étudier Java 8 (facultatif)
Vérificateur JAVA NULL
[Java] Utilisez Collectors.collectingAndThen
[Java] Présentation de Java
[Java] Mémorandum facultatif
Java 9 Facultatif :: stream
Omission des crochets du milieu dans l'instruction if (Java Silver)
[Swift] Pourquoi FlowLayout devrait utiliser Delegate au lieu de l'instance
Utiliser des expressions Java lambda en dehors de l'API Stream
Parcourir les objets de classe dans Kotlin (au lieu de Java class name.class)
Résumé de l'API de communication Java (1) Comment utiliser Socket
Résumé de l'API de communication Java (3) Comment utiliser SocketChannel
Résumé de l'API de communication Java (2) Comment utiliser HttpUrlConnection
Utilisation correcte de la classe abstraite et de l'interface en Java
Java: utilisez Stream pour trier le contenu d'une collection
JAWJAW est pratique si vous utilisez WordNet à partir de Java
Récapitulez les éléments supplémentaires de la classe Optional dans Java 9