Добавление Optional.isPresent () внутри компаратора Java 8 - PullRequest
0 голосов
/ 26 февраля 2019

Ниже мой код Java 8, когда я запускаю Sonar, я получаю сообщение " Call" Необязательный # isPresent () "перед доступом к сообщению значения. ".Пожалуйста, помогите мне, как добавить isPresent() для subPlan.getTaxWthholding().getFederalTaxDetails().getFederalTaxPercentage().

SubPlan maxSubPlan = subPlanList.stream()
    .filter(s -> s.getIsSelected())
    .max(Comparator.comparing(subPlan ->
         subPlan.getTaxWthholding().getFederalTaxDetails().getFederalTaxPercentage()))
    .get();

1 Ответ

0 голосов
/ 26 февраля 2019

Я не думаю, что он хочет, чтобы вы добавили isPresent в Comparator.

Возможно, проблема в том, что последний get().

max() может вернутьпусто Optional (если subPlanList пусто или если шаг filter отфильтровывает все элементы), то вам следует заменить get() на orElse(defaultValue), orElseGet() или orElseThrow().

...