home

Optional

Overview

Creating Optionals

Optional.of(new Integer(1));         // Optional[1]
Optional.ofNullable(new Integer(1)); // Optional[1]
Optional.empty();                    // Optional.EMPTY

Optional.of(null);                   // NullPointerException
Optional.ofNullable(null);           // Optional.EMPTY

Reading Optionals

Querying Optionals

Optional.of(1).isPresent();            // true
Optional.of(null).isPresent();         // NullPointerException
Optional.ofNullable(null).isPresent(); // false
Optional.empty().isPresent();          // false

Getting Values from Optionals

Optional.get()

Optional.of(1).get();             // 1
Optional.of(null).get();          // NullPointerException
Optional.ofNullable(null).get();  // NoSuchElementException
Optional.empty().get();           // NoSuchElementException

Optional.orElse()

Optional.of(1).orElse(2);                     // 1
Optional.<Integer>of(null).orElse(2);         // NullPointerException
Optional.<Integer>ofNullable(null).orElse(2); // 2
Optional.<Integer>empty().orElse(2);          // 2