这里作为(II)的第二个续篇,继续复杂的嵌套if else 的处理。 为了保持篇幅不会太长,以一篇新的文章形式给出。
化简复杂的if else语句,基本的手段
这里给出最后一个举例,也是从网上随便搜索摘录的
List<TWorkFlowwork> wfwList=errorProcessingService.findWorkFlowworkByWorkType("7",workbillcode.getId()+"");
boolean flag=false;
if(wfwList!=null&&wfwList.size()>0){
for(int i=0;i<wfwList.size();i++){
TWorkFlowwork wfw=wfwList.get(i);
if(wfw!=null){//当前待办是原件校验并且如果已经结束了则激活原件校验待办
if(wfw.getStatus()!=null&&!"".equals(wfw.getStatus())){
if("1".equals(wfw.getStatus())){
flag=true;
break;
}
}
}
}
if(!flag){//如果原件校验待办都结束了,则产生一条原件校验待办
TWorkBillcode wb=errorProcessingService.findWorkBillcodeByParameters(flow.getBussid(),flow.getBusstype());
wb.setIsmatchpage("1");
errorProcessingService.updateWorkBillcode(wb);
}
}if(wfw.getStatus()!=null&&!"".equals(wfw.getStatus())
&& "1".equals(wfw.getStatus())){
flag=true;
break;
}仔细分析,不难发现wfw.getStatus()!=null&&!"".equals(wfw.getStatus()) 根本是多余的。List<TWorkFlowwork> wfwList=errorProcessingService.findWorkFlowworkByWorkType("7",workbillcode.getId()+"");
boolean flag=false;
if(wfwList==null || wfwList.size()==0) { return; }
for (TWorkFlowwork wfw : wfwList) {
//当前待办是原件校验并且如果已经结束了则激活原件校验待办
if (wfw == null) { continue; }
if("1".equals(wfw.getStatus())){
flag=true;
break;
}
}
if(!flag){//如果原件校验待办都结束了,则产生一条原件校验待办
TWorkBillcode wb=errorProcessingService.findWorkBillcoHideByParameters(flow.getBussid(),flow.getBusstype());
wb.setIsmatchpage("1");
errorProcessingService.updateWorkBillcode(wb);
}
,勿当真,只是想说,"不要怕,不要悔",刚开始时,尽管做,不要太多怀疑)原文地址:http://blog.csdn.net/crylearner/article/details/39138741