我该如何更改:

if (pAlarms[0].getMoIdentifier().isPresent()) {
    Optional<AlarmValue[]> alarmValues = getAlarmsFromMo(pAlarms[0].getMoIdentifier().get());
}


进入ifPresent()

最佳答案

即使您要求使用ifPresent(),我认为在您的示例中使用flatMap()更有意义。有了它,您应该能够做到这一点:

Optional<AlarmValue[]> alarmValues = pAlarms[0].getMoIdentifier().flatMap(this::getAlarmsFromMo)

09-25 20:34