Zum Zeitpunkt des Schreibens dieses Artikels habe ich wenig Kenntnisse über die Syntax von java.util.Optional.
Klasse in Java8-java.util.Optional hinzugefügt
** Ein Containerobjekt, das Werte ungleich Null enthalten kann oder nicht. ** ** ** by https://docs.oracle.com/javase/jp/8/docs/api/java/util/Optional.html
Ich verstehe, ich weiß es nicht.
orElse(T other) Gibt einen Wert zurück, falls vorhanden, andernfalls wird ein anderer zurückgegeben.
orElseGet(Supplier<? extends T> other) Gibt den Wert zurück, falls vorhanden, ruft andernfalls andere auf und gibt das Ergebnis dieses Aufrufs zurück.
Main.java
import java.util.*;
public class Main {
public static void main(String[] args) throws Exception {
Optional.of("hoge").orElseGet(() -> {
System.out.println("Es ist nicht ausgeführt oder ElseGet");
return "";
});
Optional.empty().orElseGet(() -> {
System.out.println("Es ist orElseGet, das ausgeführt werden soll");
return "";
});
String piyo = (String)Optional.of("hoge").orElse("Es ist nicht zurückgegeben oder sonst");
System.out.println("piyo: " + piyo);
String piyo2 = (String)Optional.empty().orElse("Es ist zurückgekehrt oder sonst");
System.out.println("piyo2: " + piyo2);
}
}
Es ist orElseGet, das ausgeführt werden soll piyo: hoge piyo2: Es ist zurückgekehrt oder sonst
orElse () wird ausgeführt, unabhängig davon, ob der Inhalt von Optional null ist, und oeElseGet () wird nur ausgeführt, wenn null.
--OrElse () ist gut, weil es sinnlos ist, einen Lambda-Ausdruck zu schreiben, um eine Konstante wie "Wenn null, ein leeres Zeichen oder null zurückgeben" zurückzugeben. --OrElseGet () im Fall von "Wenn es null ist, führen Sie eine Verarbeitung durch und geben Sie das Ergebnis zurück"
Recommended Posts