// Created on savesnippets.com · https://savesnippets.com/V1c4u30nX80LSI import java.util.*; class Demo { record Address(String city, String zip) {} record User(String name, Optional
address) {} Optional findUser(int id) { return Optional.of(new User("Alice", Optional.of(new Address("Austin", "78704")))); } void example() { // Chain through nested optionals Optional city = findUser(1) .flatMap(User::address) // Optional
.map(Address::city); // Optional System.out.println(city.orElse("none")); // Filter conditionally — empty if predicate fails Optional longCity = findUser(1) .flatMap(User::address) .map(Address::city) .filter(c -> c.length() > 10); System.out.println(longCity); // Optional.empty if city <= 10 chars // Combined with orElseThrow for must-exist semantics String requiredZip = findUser(1) .flatMap(User::address) .map(Address::zip) .orElseThrow(() -> new IllegalStateException("no zip")); } }