Professional Documents
Culture Documents
Optional
Optional
OPTIONAL
SCHOOL OF JAVA
MARCH 2019
AGENDA
THE WHY
WORKING WITH OPTIONAL
2
2
WHY?
3
OPTIONAL<T>
PROPERTIES
Enables designing more-comprehensible APIs so that by just
reading the signature of a method, you can tell whether you can
expect an optional value.
Two states:
• Absent 4
• Present
Immutable
Wrapper
OPTIONAL VS NULL
When trying to dereference a null will invariably cause a
NullPointerException
Optional.empty() is a valid, workable object and it can be invoked in
various ways
Null forces you to check it explicitly while Optional forces you to
actively unwrap it
Optional is a separate object (16 bytes!)
4
WORKING WITH OPTIONAL
Empty Optional
Optional.empty();
5
WHEN NOT TO USE OPTIONAL
6
GOLDEN RULES