我必须将操作(数据库查询或计算)的结果分配给返回变量,并在结果无效(null,empty,...)时最终执行另一次操作;但是,这种模式至少会发生两次,对我来说似乎是代码的味道。我应该以任何方式重构它吗?
String result = planA();
if(!isValid(result))
result = planB();
if(!isValid(result))
result = planC();
if(!isValid(result))
result = planD();
return result;
Run Code Online (Sandbox Code Playgroud)