I am trying to learn Java 8 feature Optional. I am confused about how Optional.orElse is working. Here is what i have tried:
public class OptionalsExample {
public static void main(String[] args) {
Name userName = new Name();
userName.setName("John Doe");
Optional<Name> optionalName = Optional.ofNullable(userName);
optionalName.ifPresent(
(Name value) -> {
Optional<String> optionalNameString = Optional.ofNullable(value.getName());
optionalNameString.ifPresent(name -> System.err.println("Name is: " + optionalNameString.get()));
}
);
}
private static void printError() {
System.err.println("No Name present");
}
}
My Concern is that if name is set everything works fine but when no name is set i want to execute orElse. I want to do something when i comment
userName.setName("John Doe");
like printing No Name Found
How can i do that?
TIA