如何判断一个list是否为空

if(null == list || list.size() ==0 ){
}
list 是一个集合,也就是一个容器。
null == list
 判断是否有这个容器,
  list.size() ==0
 判断这个容器有没有东西,
两者是不一样的意思
而  list.size() ==0   与  list.isEmpty()  没有区别
 
容器相当于水杯,如果水杯都没有,水是绝对不会有的,如果没有水,水杯有没有就不清楚了,但有水,肯定有水杯。就这个道理。
 
出错例子:
usql.append( "select unit_name   from jhc_ut_unit   where unit_oid = " +wageserviceunit);
             
               List 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 uList = DaoUtil. findWithSQL (usql.toString());   
               if ( null == uList || uList.size()==0){
               dto.setWageServiceUnit( " 单位异常!(数据库中未收录该单位) " );
                           
               } else {
               dto.setWageServiceUnit(uList.get(0));
                }
              }   

你可能感兴趣的:(Java)