Kapitel 6. Der optionale Typ

Diese Arbeit wurde mithilfe von KI übersetzt. Wir freuen uns über dein Feedback und deine Kommentare: translation-feedback@oreilly.com

Seufz, warum muss alles, was mit Optional zu tun hat, 300 Nachrichten umfassen?

Brian Goetz, lambda-libs-spec-experts mailing list (23. Oktober 2013)

Mit der Java 8 API wurde eine neue Klasse namens java.util.Optional<T> eingeführt. Viele Entwickler gehen davon aus, dass Optional dazu dient, NullPointerExceptions aus dem Code zu entfernen, aber das ist nicht der eigentliche Zweck. Stattdessen soll Optional dem Benutzer mitteilen, wenn ein zurückgegebener Wert legitimerweise null sein könnte. Dies kann der Fall sein, wenn ein Wertestrom durch eine Bedingung gefiltert wird, die zufällig keine Elemente mehr übrig lässt.

In der Stream API geben die folgenden Methoden einen Optional zurück, wenn keine Elemente im Stream verbleiben: reduce, min, max, findFirst, findAny.

Eine Instanz von Optional kann sich in einem von zwei Zuständen befinden: eine Referenz auf eine Instanz des Typs T oder leer. Der erste Fall wird als vorhanden bezeichnet, der zweite als leer (im Gegensatz zu null).

Warnung

Obwohl Optional ein Referenztyp ist, sollte ihm niemals ein Wert von null zugewiesen werden.

Dieses Kapitel befasst sich mit den idiomatischen Möglichkeiten, Optional zu verwenden. Die korrekte Verwendung von Optional wird in deinem Unternehmen wahrscheinlich für lebhafte Diskussionen sorgen,1 Die gute Nachricht ist, dass es Standardempfehlungen ...

Get Moderne Java-Rezepte now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.