Was ist optional? Es ist ein Memorandum-Artikel für mich zu dieser Zeit. Der optionale Typ ist ein Typ, den Sie auf einen Blick sehen können, dass "er möglicherweise null enthält" als grobe Idee. Zunächst ein einfaches Nullprüfungsbeispiel
if (name != null) {
System.out.println(name);
} else {
System.out.println("Ich habe keinen Namen");
}
Natürlich das Ergebnis
//benennen"Ich habe einen Namen"Bei Zuordnung zu
Ich habe einen Namen
//Wenn der Name null ist
Ich habe keinen Namen
Wenn Sie dies mit Optional tun, sieht es so aus
Optional.ofNullable(name).ifPresentOrElse(result -> System.out.println(result),
() -> System.out.println("Ich habe keinen Namen"));
Auch in diesem Fall ist das Ergebnis wie folgt
//benennen"Ich habe einen Namen"Bei Zuordnung zu
Ich habe einen Namen
//Wenn der Name null ist
Ich habe keinen Namen
Erstens gibt es mehr Möglichkeiten, eine normale if-Anweisung zu schreiben ... Oder so ähnlich, wenn Sie es beiseite legen und erklären, was Sie oben tun Optional.ofNullable(name) Wenn der Wert des Arguments in dem Teil von nicht null ist, wird das Optinal zurückgegeben, in dem der Wert gespeichert ist. Wie der Name schon sagt, handelt es sich um eine Methode, die null zulässt. Wenn sie null ist, wird eine leere Option zurückgegeben, die von der optionalen leeren Methode generiert wird. Vergleichen Sie dieses leere Optional, == neu mit dem leeren Optional ... Ich mache so etwas nicht.
Hier kommt ifPresent, eine Methode der Klasse Optional, ins Spiel. Also habe ich dieses Mal über die Verwendung von ifPresent nachgedacht, aber ich habe viele Artikel gesehen, die besagten, dass ifPresent nicht an verschiedenen Orten verwendet werden sollte. Wenn die Option, die ich zuerst erhielt, leer war, war der Hauptgrund anscheinend, dass die Verarbeitung sonst schwierig war. Also habe ich dieses Mal *** ifPresentOrElse *** verwendet, das neu von java9 hinzugefügt wurde. *** ifPresentOrElse (Ergebnis-> System.out.println (Ergebnis), () -> System.out.println ("kein Name")) *** Diese Methode ist auf einen Blick leicht zu verstehen und kann die Verarbeitung danach sortieren, ob die zuerst erworbene Option leer ist.
Verarbeiten Sie auf diese Weise den Wert, der möglicherweise null ist, ohne sich mit if null usw. zu nähern. Ich denke, es hat den Vorteil, nicht nur ordentlich schreiben zu können, sondern auch zu verhindern, dass vergessen wird, nach Nullen zu suchen.
Was ist diesmal optional?
Recommended Posts