$ javac src/OptionalDemo.java && java OptionalDemo (1.8.0_504) present : VALUE-1 absent : none orElse (value present): expensive() called orElseGet (value present): get() on empty : No value present Optional.of(null): NullPointerException