Nuovi metodo sui Optional

This commit is contained in:
Fabio Scotto di Santolo
2019-11-28 20:00:58 +01:00
parent e968f0352f
commit 561c9d1181

View File

@@ -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<Person> 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<Insurance> nullSafeFindCheapestInsurance(Optional<Person> person, Optional<Car> 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();
}
}