Java Language Utilizzo di contenitori opzionali per tipi di numeri primitivi


Esempio

OptionalDouble , OptionalInt e OptionalLong funzionano come Optional , ma sono specificamente progettati per includere tipi primitivi:

OptionalInt presentInt = OptionalInt.of(value);
OptionalInt absentInt = OptionalInt.empty();

Poiché i tipi numerici hanno un valore, non esiste una gestione speciale per null. I contenitori vuoti possono essere controllati con:

presentInt.isPresent(); // Is true.
absentInt.isPresent(); // Is false.

Allo stesso modo, esistono stenografie per aiutare la gestione del valore:

// Prints the value since it is provided on creation.
presentInt.ifPresent(System.out::println);

// Gives the other value as the original Optional is empty.
int finalValue = absentInt.orElseGet(this::otherValue);

// Will throw a NoSuchElementException.
int nonexistentValue = absentInt.getAsInt();