Java Optional
Java Optional
🔍 Accessing Values
1. isPresent(), get()
if (name.isPresent())
{
System.out.println(name.get());
}
3. orElse(T other)
5. orElseThrow()
Throws NoSuchElementException if value not present:
String result = name.orElseThrow();
1. map(Function<T, R>)
Applies a function if value is present and wraps the result:
Optional<String> upper = name.map(String::toUpperCase);
2.flatMap(Function<T, Optional<R>>)
Same as map, but does not wrap nested Optionals:
Optional<User> user = Optional.of(userRepo)
.flatMap(repo -> repo.findById("123")); // returns Optional<User>
3. filter(Predicate<T>)
Filters value based on a condition:
Optional<String> result = name.filter(n -> n.startsWith("J"));
Example:
Before: User user = repo.findById("123");
if (user != null) {
return user.getName();
}
return "Unknown";
www.linkedin.com/in/pkprusty999