Я новичок в дополнительных параметрах Java 8, и мне интересно, есть ли способ объединить эти два оператора в один, сохранив при этом необязательный?
public List<String> getEmployeeStreetNames(Employee employee){
List<Addresses> addresses = Optional.ofNullable(employee)
.map(Employee::getAddresses)
.orElse(new ArrayList<>());
return addresses.stream()
.map(Address::getStreetName)
.collect(Collectors.toList())
}
Любая помощь приветствуется.
Optional.ofNullable
и, возможно, вообще не использовал быOptional
. Я бы просто сказал, что вы не можете назвать это пустым сотрудником, глупо, и позволить NPE произойти; еслиemployee.addresses
не может быть нулевым (например, вы используете разумное правило, что оно может быть пустым, но не нулевым), тогда вы можете просто начать все это дело сemployee.getAddresses().stream()
. - person chrylis -cautiouslyoptimistic-   schedule 08.08.2020