[]list != null 和 !list.isEmpty()差别

转载
http://hi.baidu.com/oritenson/blog/item/63896c3e9ad981fc3d6d97bc.html

在我们进行遍历展示数据的时候经常会把数据封装到List<your JavaBean>中,然后传递到页面(JSP)端进行显示,这时候我们经常在Action里声明一个Null的List<your JavaBean>,然后调用处理方法,把这个Null的List赋值,赋值之后肯定要判断是否成功赋值,代码如下:

List<Employee> list = null;
list = EmployeeService.getInstance().getEmployees();
if( list == null){
/**
* failure
*/
errors.add("skimEmployee.failure", new ActionMessage("skimEmployee.failure"));
}else{
/**
* success
*/
result = "success";
request.getSession().setAttribute("listEmployee", list);
}

上面就是我经常写的代码,今天就出问题了,在实际处理端,我们同时也会声明一个List<your JavaBean>,并且用ArrayList<your JavaBean>初始化,然后把RS生成的对象放到List中,最后传递给那面的Action。代码如下:

List<CommonTask> list = null;
Connection conn = DBMysql.getConnection();
String sql = "select * from task ";
Statement stmt = DBMysql.getStatement(conn);
ResultSet rs = DBMysql.getResultSet(stmt, sql);
list = new ArrayList<CommonTask>();
CommonTask ct = null;
try {
while(rs.next()){
ct = new CommonTask();

.....................

由于我们new了List,所以当RS取不到值的时候List实际就不为NULL了,List实际值为 [ ] 。所以action端的list != null,会永远执行。

正确写法;

if( list.isEmpty()){
/**
* failure
*/
errors.add("skimEmployee.failure", new ActionMessage("skimEmployee.failure"));
}else{
/**
* success
*/

...........................
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值