超长的if内容
if("110".equals(dataStatus)||"120".equals(dataStatus)){ wcd=String.valueOf(Integer.parseInt(exeId)*50); }else if((dataStatus.startsWith("2")||dataStatus.startsWith("A")||dataStatus.startsWith("B")||dataStatus.startsWith("C")||dataStatus.startsWith("D"))&&"Y".equals(ifJxcs)){ wcd=String.valueOf(Integer.parseInt(exeId)*20); }else if((dataStatus.startsWith("2")||dataStatus.startsWith("A")||dataStatus.startsWith("B")||dataStatus.startsWith("C")||dataStatus.startsWith("D"))&&"N".equals(ifJxcs)){ wcd=String.valueOf(Integer.parseInt(exeId)*25); }else if("300".equals(dataStatus)){ wcd=String.valueOf(Integer.parseInt(exeId)*100); }
像这样的if语句完全可以用更简单的方法来实现么,比如下面这个:
//声明在类内部 private static List<Char> STATUS_PREFIXES = { ‘2‘, ‘A‘, ‘B‘, ‘C‘, ‘D‘} char p = dataStatus.charAt(0); if(STATUS_PREFIXES.contains(p){ //这样短很多吧 if("Y".equals(ifJxcs)){ //TODO equal } else{ //TODO when not equal } }
超长的if内容2
if("init".equals(action)||"export".equals(action)||"toExcel".equals(action) ||"toExcelFull".equals(action)||"toPDF".equals(action)||"toPDFFull".equals(action)||"beforeSort".equals(action) ||"createInitData".equals(action)||"createDynamicData".equals(action)|| "ajaxDropAction".equals(action) ||"beforeFilter".equals(action)||"filterCondAdd".equals(action)||"filterCondDelete".equals(action) ||"filterCondInsert".equals(action)||"filterCondOk".equals(action)||"filterCondRefresh".equals(action) ||"filterCondSave".equals(action)||"filterSchemeAdd".equals(action)||"filterSchemeChanged".equals(action) ||"filterSchemeDelete".equals(action) ||"refreshList".equals(action)){ return super.execute(); }
这东西,简直不想看……
解决方案,同上一个,用List或者Map来存储一下,然后 contains就可以了!易读,美观!用MAP的话,性能还能提高一点点~
超占空间的赋值语句
public void setYlcsVo(SqjwFwSyfwNew sqjwFwSyfwNew,SqjwDwSydwjbxx sqjwDwSydwjbxx,SqjwDwYlcs sqjwDwYlcs){ //封装Vo实体 sqjwYlcsVo.setDwdzDzbm(sqjwDwSydwjbxx.getDwdzDzbm()); sqjwYlcsVo.setDwdzSsxqdm(sqjwDwSydwjbxx.getDwdzSsxqdm()); sqjwYlcsVo.setDwdzQhnxxdz(sqjwDwSydwjbxx.getDwdzQhnxxdz()); sqjwYlcsVo.setDwmc(sqjwDwSydwjbxx.getDwmc()); sqjwYlcsVo.setSjmc(sqjwDwSydwjbxx.getSjmc()); sqjwYlcsVo.setZddwbs(sqjwDwSydwjbxx.getZddwbs()); sqjwYlcsVo.setSspcs(sqjwDwSydwjbxx.getSspcs()); sqjwYlcsVo.setSszrq(sqjwDwSydwjbxx.getSszrq()); sqjwYlcsVo.setJymjMjpfm(sqjwDwSydwjbxx.getJymjMjpfm()); sqjwYlcsVo.setJyfwzy(sqjwDwSydwjbxx.getJyfwzy()); sqjwYlcsVo.setYyzzh(sqjwDwSydwjbxx.getYyzzh()); sqjwYlcsVo.setYyzzyxqQsrq(sqjwDwSydwjbxx.getYyzzyxqQsrq()); sqjwYlcsVo.setSfjxcs(sqjwFwSyfwNew.getSfjxcs()); sqjwYlcsVo.setJxcsfl(sqjwFwSyfwNew.getJxcsfl()); //... }
修改方法:
BeanUtils.copyProperties(target, source);//使用工具类来完成对象的属性copy
时间: 2024-10-06 19:11:06