我该如何改变:
if (pAlarms[0].getMoIdentifier().isPresent()) {
Optional<AlarmValue[]> alarmValues = getAlarmsFromMo(pAlarms[0].getMoIdentifier().get());
}
进入ifPresent()
?
答案 0 :(得分:4)
即使您要求使用ifPresent()
,我认为在您的示例中使用map()
更有意义。有了它,你应该能够做到这一点:
Optional<AlarmValue[]> alarmValues = pAlarms[0].getMoIdentifier().map(this::getAlarmsFromMo)
答案 1 :(得分:2)
这应该这样做。
pAlarms[0].getMoIdentifier().ifPresent(moId -> {
Optional<AlarmValue[]> alarmValues = getAlarmsFromMo(moId);
});