Optional<T> représente une valeur qui peut être absente, pour éviter de retourner null. On le consomme avec map, orElse, orElseThrow ou ifPresent, plutôt qu'avec get() sans contrôle. Il s'emploie surtout comme type de retour, rarement comme champ ou paramètre.
Exemple
String nom = trouver(id).map(Client::nom).orElse("inconnu");