if(null == list || list.size() ==0 ){
}

list是一个集合,也就是一个容器。
null == list判断是否有这个容器,
list.size() ==0判断这个容器有没有东西,
两者是不一样的意思

list.size() ==0list.isEmpty()没有区别

容器相当于水杯,如果水杯都没有,水是绝对不会有的,如果没有水,水杯有没有就不清楚了,但有水,肯定有水杯。就这个道理。

出错例子:
usql.append("select unit_name from jhc_ut_unit where unit_oid = "+wageserviceunit);

          List<String> uList = DaoUtil.findWithSQL(usql.toString());  
          dto.setWageServiceUnit(uList.get(0));
     
         }  

问题出在uList.get(0) 这样写是无形中默认uList这个集合是一定存在的,也就是一定有杯子的。如果uList这个集合为空,也就是要查的数据表中没有查不出东西时,这种情况就是没有杯子的情况,就会报异常的了。
修改后:
usql.append("select unit_name from jhc_ut_unit where unit_oid = "+wageserviceunit);

          List<String> uList = DaoUtil.findWithSQL(usql.toString());  
          if(null== uList || uList.size()==0){
          dto.setWageServiceUnit("单位异常!(数据库中未收录该单位)");
                       
          }else{
          dto.setWageServiceUnit(uList.get(0));
          }
         }  

作者:mottohlm
来源:CSDN
原文:https://blog.csdn.net/mottohlm/article/details/78364176
版权声明:本文为博主原创文章,转载请附上博文链接!

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐