如果多层if嵌套是用来选择不同的函数或行为,可以考虑使用映射表(如HashMap)来优化。 原始多层if嵌套: java if (action.equals("start")) { startAction(); } else if (action.equals("stop")) { stopAction(); } else if (action.equals("pause")) { pauseAction(); } 优化后的映射表: java Map...
if(month == 2 ) return 29; if(month == 3 ) return 31; if(month == 4 ) return 30; if(month == 5 ) return 31; if(month == 6 ) return 30; if(month == 7 ) return 31; if(month == 8 ) return 31; if(month == 9 ) return 30; if(month == 10 ) return 31; if(mo...
if (type == 0) { throw new IllegalArgumentException("参数有误"); } if (type == 1) { return "京东"; } if (type == 2) { return "百度"; } return "阿里巴巴"; } 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 先进行条件检查,然后将 if-else 逻...
除了以上方法外,还有两种方法可以进行嵌套if-else代码的重构,比如用一些特殊的数据结构去或者设计模型思想进行,如: 使用Map替代分支语句,把所有状态类型预先缓存在Map里,需要调用的时候直接get获取具体状态类型,以此消除分支; 使用卫语句,优化代码顺序,减少else条件的使用; 设计模式中策略模式和状态模式,也可以用于减少业务...
当两个容器嵌套时,如果外层容器和内层容器之间没有别的元素,firefox和IE8会把内层元素的margin-top作用与父元素。 也就是说因为子层是父层的第一个非空子元素,所以使用margin-top会发生这个错误。 解决的办法有两个: 1、使用浮动来解决,即将子层代码改为:子层 2、使用padding-top来解决,即: 子层 ...