[Java] Es kann glücklich sein, wenn der Rückgabewert der Methode, die null zurückgibt, Optional <> ist

Optional <> Eva

Angenommen, Sie erstellen eine Methode wie die folgende:

Factory.Java


public class Factory {
    /**
     *Erstellt eine neue Instanz von MyObj und gibt sie zurück.<br>
     *Wenn die Erstellung fehlschlägt, wird null zurückgegeben.
     *
     * @return
     */
    public MyObj createMyObj() {
      // ...
    }
}

Die Seite, die diese Methode verwendet, hat Code wie diesen.

python


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

if (myObj != null) {
    //Verarbeitung auf Erfolg
}

Optional <> nach Nacht

Ich habe versucht, Optional <> zurückzugeben.

Factory.Java


public class Factory {
    /**
     *Erstellt eine neue Instanz von MyObj und gibt sie zurück.<br>
     *Wenn die Erstellung fehlschlägt, wird null zurückgegeben.
     *
     * @return
     */
    public Optional<MyObj> createMyObj() {
      // ...
    }
}

Die Benutzerseite sieht so aus.

python


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

myObj.ifPresent(o -> {
    //Verarbeitung auf Erfolg
});

Recommended Posts

[Java] Es kann glücklich sein, wenn der Rückgabewert der Methode, die null zurückgibt, Optional <> ist
Deklarieren Sie eine Methode mit einem Java-Rückgabewert mit dem Rückgabewert-Datentyp
Beispielprogramm, das den Hashwert einer Datei in Java zurückgibt
[Ruby] Was passiert, wenn das Selbst der Methode als Rückgabewert verwendet wird?
[Java] Vereinigen Sie diese NG, wenn eine Methode mit einer großen Anzahl von Zeilen mithilfe von schwarzer Magie erkannt wird
Die Reihenfolge der Java-Methodenmodifikatoren ist festgelegt
[Java] benutze Optional anstelle von if (hoge! = Null) {...}
Übergeben Sie ein Argument an die Methode und erhalten Sie das Ergebnis der Operation als Rückgabewert
Das Ende der katastrophalen Programmierung # 03 "Der Vergleich von ganzen Zahlen, wenn" a> b ", nimmt an, dass es" a - b> 0 "ist."
Ein Memo des Programms, mit dem Sie feststellen können, dass die Wahrscheinlichkeit eines Würfelwurfs etwa 1/6 beträgt
Erstellen Sie eine Methode, um den Steuersatz in Java zurückzugeben
Eine Sammlung von Mustern, die Sie kennen möchten, um den Code nicht zu komplizieren
[Firebase] Firebase Auth currentUser wird auch nach der Deinstallation der App nicht null
Erwägen Sie die Implementierung einer Methode, die die Differenz zwischen zwei Listen zurückgibt
[Java] Listenmethode, die bestimmt, ob ein bestimmtes Objekt enthalten ist
Ist die von Ihnen verwendete Version von Elasticsearch mit Java 11 kompatibel?
Untersuchungsmethode, wenn die CPU des Servers, auf dem Java ausgeführt wird, schwer ist
Über die Angelegenheit, die tendenziell mit ARG von Dockerfile verwechselt wird, einem mehrstufigen Build
Monade ist ein Entwurfsmuster, um "das Vorhandensein von Nebenwirkungen in einer Methode mit einem Rückgabetyp auszudrücken".
Eine Sammlung von Phrasen, die das "unterschiedliche Gefühl" von Java und JavaScript beeindruckt
Für Sie, die beklagen, dass die Konvertierung von JODConverter + LibreOffice langsam ist
Der Inhalt des Rückgabewerts von executeBatch unterscheidet sich zwischen 11g und 12c
Anmerkung: [Java] Wenn sich eine Datei im überwachten Verzeichnis befindet, verarbeiten Sie sie.
[Java small story] Überwachen Sie, wann der Liste ein Wert hinzugefügt wird
[Java] Überprüfen Sie, ob die Zeichenfolge nur aus Leerzeichen besteht (= Leerzeichen)
Eine Geschichte, die unter einem Raum litt, der nicht verschwindet, selbst wenn er mit Java beschnitten ist