При преобразовании старой школы при использовании Optional.ifPresent
я столкнулся с проблемой.Вот предыдущая версия кода.
State state = State.OK;
final Optional<Person> checkExistingPerson = checkIt();
if(checkExistingPerson.isPresent()) {
Person person = checkExistingPerson.get();
if("blah".equals(person.getName())) {
state = State.DUPLICATE;
} else {
state = State.RESTORED;
}
return Member(person.getId(), state);
}
return Member(null, state);
А вот Optional.ifPresent
использование
State state = State.OK;
final Optional<Person> checkExistingPerson = checkIt();
checkExistingPerson.ifPresent(person -> {
if("blah".equals(person.getName())) {
state = State.DUPLICATE;
} else {
state = State.NEW;
}
return Member(person.getId(), state);
});
return Member(null, state);
А также, вот скриншот, на котором IntelliJ заставляет меня изменить его.
Как лучше всего использовать Optional
в отношении моей проблемы?Спасибо всем!