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.