ArrayList判断为空问题

奈落_____ 2016-12-16 07:37:25
是这样的,

前情:
我在页面通过post传递的
mycars是窝在页面上通过全局变量定义的数组
var mycars = new Array();


arrr1 和arrr2是窝在后台定义的ArrayList


遇到问题:
该判断不起作用,arrr2的值是空的还是能进入if判断里面的方法
我注意到该list 此时是XWorkList

应该怎么去判断呢
求解救。。 9点要交差了,实在木有办法了 SOS 各位大大
...全文
975 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
奈落_____ 2016-12-16
  • 打赏
  • 举报
回复
引用 12 楼 shijing266 的回复:
[quote=引用 5 楼 qq_16951819 的回复:] [quote=引用 2 楼 shijing266 的回复:] 你没看到你的Size是1吗? 你的数组里面有值,只不过是个空对象
大大 窝是个菜鸟,不懂这个呀 ,求教咋改我这个问题[/quote] 1、从源头解决问题,你前端传值的时候,没有数据就直接传null,不要去new对象 2、从处理上解决问题, 你在取list值的时候,不仅判断list的非空,也要判断里面的元素非空 这样能明白我的意思了吗?[/quote] 嗯嗯 了解了 页面上的话 窝是 用的push() 给他每次放进去的,这次我采用的是 StringBuffer 拼一下 我后台接到的array 然后判断这个是否为空解决的。
  • 打赏
  • 举报
回复
引用 5 楼 qq_16951819 的回复:
[quote=引用 2 楼 shijing266 的回复:] 你没看到你的Size是1吗? 你的数组里面有值,只不过是个空对象
大大 窝是个菜鸟,不懂这个呀 ,求教咋改我这个问题[/quote] 1、从源头解决问题,你前端传值的时候,没有数据就直接传null,不要去new对象 2、从处理上解决问题, 你在取list值的时候,不仅判断list的非空,也要判断里面的元素非空 这样能明白我的意思了吗?
  • 打赏
  • 举报
回复

public static boolean isEmpty(Collection collection)
  {
    return (collection == null) || (collection.isEmpty());
  }
上面这样写,或你要是有用spring的jar包的话,直接 if(CollectionUtils.isEmpty(list)){ }
奈落_____ 2016-12-16
  • 打赏
  • 举报
回复
引用 6 楼 A279080116 的回复:
String a=""; for(int i=0;i<arr2.size();i++){ a+=arr2.get(i); } if(a.length()>0&&!a.isEmpty()&&a!=null){ System.out.println("ok"); }
阿狸亚多 ,你的方法可行 管用了!,话说空对象是指的 我前台传过来的值是空,但是个对象的意思吗?所以才造成size长度为1 而不是0的问题
奈落_____ 2016-12-16
  • 打赏
  • 举报
回复
恩 六楼的方法可行
月明星稀灬 2016-12-16
  • 打赏
  • 举报
回复
看到你DEBUG,里面不是显示size=1嘛, 而且存的是一个空字符串。
月明星稀灬 2016-12-16
  • 打赏
  • 举报
回复
先判断是不是NULL,不是NULL再判断长度,顺序注意一下,如果为null,调用size(),会空指针的
A279080116 2016-12-16
  • 打赏
  • 举报
回复
String a=""; for(int i=0;i<arr2.size();i++){ a+=arr2.get(i); } if(a.length()>0&&!a.isEmpty()&&a!=null){ System.out.println("ok"); }
奈落_____ 2016-12-16
  • 打赏
  • 举报
回复
引用 2 楼 shijing266 的回复:
你没看到你的Size是1吗? 你的数组里面有值,只不过是个空对象
大大 窝是个菜鸟,不懂这个呀 ,求教咋改我这个问题
奈落_____ 2016-12-16
  • 打赏
  • 举报
回复
引用 1 楼 A279080116 的回复:
debug一下arr2,如果是[, , , , ,]可不就是进if了
我这里打了debug了,发现 打印出来是个 [] 也就是空
墨笙弘一 2016-12-16
  • 打赏
  • 举报
回复
楼上正解,可能是因为你的里面有个空对象
  • 打赏
  • 举报
回复
你没看到你的Size是1吗? 你的数组里面有值,只不过是个空对象
A279080116 2016-12-16
  • 打赏
  • 举报
回复
debug一下arr2,如果是[, , , , ,]可不就是进if了

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧