总结两点写if判断语句时遇到的坑。
1.在写if分支语句的时候,有时候会写出来这样的逻辑
if(!mlist.isEmpty || !olist.isEmpty){
}else{
}
说实话,我写if语句的时候喜欢回避或||,喜欢用与&&来写if判断,个人感觉这样写出来的逻辑好理解一些。
上面的就可以改成
if(mlist.isEmpty&&olist.isEmpty){
}else{
}
当然了,具体情况还要具体分析。但是if的反转确实可以很好的优化if语句
2.我还遇到了这样一种情况
if(mlist.isEmpty){
return 0;
}else if(olist.isEmpty){
return 0;
}else if(slist.isEmpty) {
return 0;
}
这个例子感觉很傻,但是我是为了方便我理解,在写if逻辑的时候一定要注意分支是并列关系,还是二选一的关系。
上述就可以写成是
if(mlist.isEmpty)return 0;
if(olist.isEmpty)return 0;
if(slist.isEmpty)return 0;
3.就是以前刚学java时,我写代码老是有一种习惯,声明一个对象(如:list)后老是忘记new,所以总是出现空指针异常,所以我就会习惯性的加上判断
if(mlist==null&&mlist.isEmpty)。
后来我特意回避了这总现象,但是在new 了对象以后,其实根本就不用判断null的,因为肯定不是null,这也是在代码优化的时候,头儿指出来的毛病。
本博客只为方便个人记忆及回避问题。