// Created on savesnippets.com ยท https://savesnippets.com/WOw1qpMFnelE3r import java.util.*; import java.util.stream.*; class Demo { Map db = Map.of(1, "Alice", 2, "Bob"); Optional findUser(int id) { return Optional.ofNullable(db.get(id)); } void example() { // Default fallback String name = findUser(99).orElse("unknown"); System.out.println(name); // unknown // Lazy default (only called on empty) String name2 = findUser(99).orElseGet(() -> expensive()); // Transform if present Optional nameLen = findUser(1).map(String::length); System.out.println(nameLen); // Optional[5] // Side effect if present findUser(1).ifPresent(n -> System.out.println("got " + n)); // ifPresentOrElse โ€” Java 9+ findUser(99).ifPresentOrElse( n -> System.out.println("found " + n), () -> System.out.println("nothing") ); // โŒ Don't use Optional as a field type or method parameter โ€” only as a return value. } String expensive() { return "computed default"; } }