diff --git a/modern-java/src/main/java/org/gym/fp/moderjava/OptionalTest.java b/modern-java/src/main/java/org/gym/fp/moderjava/OptionalTest.java index 18793be..9557bb7 100644 --- a/modern-java/src/main/java/org/gym/fp/moderjava/OptionalTest.java +++ b/modern-java/src/main/java/org/gym/fp/moderjava/OptionalTest.java @@ -20,6 +20,8 @@ public class OptionalTest { Person person2 = new Person(Optional.ofNullable(myCar2)); out.println("My insurance's name is " + getCarInsuranceName(Optional.ofNullable(person2))); out.println("----------------------------------------"); + + out.println("----------------------------------------"); } static String getCarInsuranceName(Optional maybePerson) { @@ -30,4 +32,17 @@ public class OptionalTest { .orElse("Unknown"); } + static Insurance findCheapestInsurance(Person person, Car car) { + Insurance cheapestInsurance = new Insurance("Allianz"); + return cheapestInsurance; + } + + static Optional nullSafeFindCheapestInsurance(Optional person, Optional car) { + return person.flatMap(p -> car.map(c -> findCheapestInsurance(p, c))); +// if (person.isPresent() && car.isPresent()) { +// return Optional.of(findCheapestInsurance(person.get(), car.get())); +// } +// return Optional.empty(); + } + }