Sel*_*vin 3 java optional java-8
下面是我的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();
Run Code Online (Sandbox Code Playgroud)
我认为它不希望你在isPresent里面添加Comparator.
问题可能是最后一个问题get().
max()可以返回一个空Optional(如果subPlanList是空的,或者如果该filter步骤过滤掉了所有元素),那么你应该替换get()为orElse(defaultValue),orElseGet()或者orElseThrow().