Welchen Nutzen hat Optional (Java)?

1 Antwort

aber welchen Unterschied macht es ob ich nun auf == null prüfe oder auf isPresent bei einem Optional?

Wenn man das so macht, bringt es wirklich nichts. Optionals sind aber dann sinnvoll, wenn man sie mit anderen Features kombiniert, die damals mit Java 8 eingeführt wurden: besonders Lambdas und Streams.

Schau dir z.B. orElse(), ifPresentOrElse(), filter() an. Damit lässt sich bedingte Logik der Sorte "wenn es null ist mach dies, wenn es nicht null ist mach das" sehr kurz und trotzdem gut lesbar darstellen. Im Zusammenhang mit Streams erlauben map() und flatMap() recht elegante Lösungen, etwa um Nullwerte ohne große Verrenkungen auszufiltern.

Allerdings sind Optionals keine Universallösung für alle Referenzvariablen. Sie sind eigentlich nur für Rückgabewerte von Methoden gedacht.