如何判断一个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<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));
}
}
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。