[Java] Cela peut être heureux si la valeur de retour de la méthode qui retourne null est facultative <>

Option <> Eve

Par exemple, supposons que vous créez une méthode comme celle-ci:

Factory.Java


public class Factory {
    /**
     *Crée et renvoie une nouvelle instance de MyObj.<br>
     *Si la création échoue, null est renvoyé.
     *
     * @return
     */
    public MyObj createMyObj() {
      // ...
    }
}

Le côté qui utilise cette méthode aura un code comme celui-ci.

python


Factory factory;
// ...
MyObj myObj = factory.createMyObj();

if (myObj != null) {
    //Traitement en cas de succès
}

Facultatif <> après la nuit

J'ai essayé de retourner facultatif <>.

Factory.Java


public class Factory {
    /**
     *Crée et renvoie une nouvelle instance de MyObj.<br>
     *Si la création échoue, null est renvoyé.
     *
     * @return
     */
    public Optional<MyObj> createMyObj() {
      // ...
    }
}

Le côté utilisateur ressemble à ceci.

python


Optional<MyObj> myObj = factory.createMyObj();

myObj.ifPresent(o -> {
    //Traitement en cas de succès
});

Recommended Posts

[Java] Cela peut être heureux si la valeur de retour de la méthode qui retourne null est facultative <>
Déclarez une méthode qui a une valeur de retour Java avec le type de données de valeur de retour
Exemple de programme qui renvoie la valeur de hachage d'un fichier en Java
[Ruby] Que se passe-t-il si le self de la méthode est utilisé comme valeur de retour?
[Java] JUnit qui NG lorsqu'une méthode avec un grand nombre de lignes est détectée en utilisant la magie noire
L'ordre des modificateurs de méthode Java est fixe
[Java] utilise facultatif au lieu de if (hoge! = Null) {...}
Passez un argument à la méthode et recevez le résultat de l'opération comme valeur de retour
La fin de la programmation catastrophique # 03 "Comparaison d'entiers, si" a> b ", supposons que c'est" a --b> 0 ""
Un mémo du programme que vous pouvez réaliser que la probabilité de lancer des dés est d'environ 1/6
Créer une méthode pour renvoyer le taux de taxe en Java
Une collection de modèles dont vous voulez être conscient pour ne pas compliquer le code
[Firebase] Firebase Auth currentUser ne devient pas nul même après la désinstallation de l'application
Envisagez d'implémenter une méthode qui renvoie la différence entre deux listes
[Java] Méthode de liste qui détermine si un objet spécifique est inclus
La version d'Elasticsearch que vous utilisez est-elle compatible avec Java 11?
Méthode d'enquête lorsque le processeur du serveur exécutant java est lourd
À propos du sujet qui a tendance à être confondu avec ARG de Dockerfile qui est une construction en plusieurs étapes
Monad est un modèle de conception pour "exprimer l'existence d'effets secondaires dans une méthode avec un type de retour"
Une collection de phrases qui impressionne le "sentiment différent" de Java et de JavaScript
A vous qui regrettez que la conversion de JODConverter + LibreOffice soit lente
Le contenu de la valeur de retour de executeBatch est différent entre 11g et 12c
Mémo: [Java] Si un fichier se trouve dans le répertoire surveillé, traitez-le.
[Petite histoire Java] Surveiller lorsqu'une valeur est ajoutée à la liste
[Java] Vérifiez si la chaîne de caractères est composée uniquement de blancs (= Vierge)
Une histoire qui a souffert d'un espace qui ne disparaît pas même s'il est taillé avec Java La cause est BOM