【发布时间】:2019-03-27 03:37:18
【问题描述】:
如果methodOne返回null,我有一段代码调用methodTwo。如果methodTwo返回null,我调用methodThree
Optional<Workflow> optionalWorkflow = remoteWorkflowProvider.getWorkflow(request);
if (!optionalWorkflow.isPresent()) {
log.info("Cannot find workflow using remoteWorkflowProvider");
optionalWorkflow = featureBasedWorkflowProvider.getWorkflow(request);
}
if (!optionalWorkflow.isPresent()) {
log.info("Cannot find workflow using featureBasedWorkflowProvider");
optionalWorkflow = legacyWorkflowProvider.getWorkflow(request);
}
有更好的方法吗?
【问题讨论】:
-
你可以把提供者列表放在一起,然后循环遍历它们,如果
optionalWorkflow.isPresent()则中断 -
@Michael 令人钦佩的选择没有回答考虑到当前的趋势。我请你喝杯咖啡。