Простые типы / Типы с "пустым" значением

import java.util.*;

var number = OptionalInt.of(42);
var nullInt = OptionalInt.empty();
var pi = OptionalDouble.of(3.14);
var charA = Optional.of('A');
var hasValue = Optional.of(true);
Optional<Boolean> noValue = Optional.empty();

System.out.println("number is " + number);
System.out.println("nullInt is " + nullInt);
System.out.println("pi is " + pi);
System.out.println("charA is " + charA);
System.out.println("hasValue is " + hasValue);
System.out.println("noValue is " + noValue);