Rozdział 6. Typ Optional
Ech, czemu dyskusja o Optional zawsze wymaga 300 maili?
— Brian Goetz, lista mailingowa lambda-libs-spec-experts
23 października 2013 r.
W API Javy 8 wprowadzono nową klasę o nazwie java
.
util
.
Optional
<
T
>
. Choć wielu programistów myśli, że klasa ta ma za zadanie wyeliminować wyjątki NullPointerException
z kodu źródłowego, rzeczywistość wygląda inaczej. Podstawowym zadaniem typu Optional
jest informowanie użytkownika, kiedy zwrócona wartość legalnie może być null
. Taka sytuacja może się zdarzyć w przypadku filtrowania strumienia wartości na podstawie jakiegoś warunku, który nie pozostawia żadnych elementów.
W API Stream
następujące metody zwracają Optional
, jeśli w strumieniu nie pozostaje ani jeden element: reduce
,
Get Nowoczesne receptury w Javie 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.