У меня есть блок кода:Java8 упростить выражение, используя факультативный
public Builder withMultiValueMap(MultiValueMap<String, String> multiValueMap) {
...
withRespondentId(Long.valueOf(multiValueMap.getFirst("respondentId")));
...
return this;
}
Иногда карта может вернуть нуль, если значение для не respondentId ключ. я могу обработать его старым способом, используя что-то вроде
String respondentId = multiValueMap.getFirst("respondentId");
withRespondentId(respondentId == null? null: Long.valueOf(respondentId));
... но я хочу сделать это лучше!
Возможно ли упростить использование java8 Дополнительно или другие вещи?
Я не знаю, о лучше ... 'Optional.ofNullable (respondentId) .map (Long :: valueOf) .orElse (null)) ' –
Super. Это точно мне нужно! Спасибо. добавьте ответ, чтобы отметить его. – Sergii
Код будет более чистым рефактором, так что метод 'withRespondentId' не требует« null »(возможно, инициализируется с помощью набора сценариев« null »). Затем вы могли бы написать 'Optional.ofNullable (answerentId) .map (Long :: valueOf) .ifPresent (this :: withRespondentId);' – flakes