在工作中对爬虫数据入库时,对list集合判断有没有数据,有数据再进行入库操作,使用list!=null,程序中途会报错,总结下list!=null、list.size()>0、list.isEmpty()
1.list=null,意味着list在堆中不存在,根本没有地址,如果此时操作list会报空指针异常。
2.list.size()=0,意思堆内有list对象,但是还没来得及放元素,其长度随着元素数量变化而变化,暂时为零。
3.list.isEmpty()跟list.size()差不多 只不过返回的时布尔类型。
另外,特别注意!
当list.add(null) ,此时list.size()=1,所以list.isEmpty()=true
@Test public void testDemo3() { List list1=new ArrayList(); list1.add(null); List list2=new ArrayList(); boolean empty1 = list1.isEmpty(); boolean empty2 = list2.isEmpty(); System.out.println(empty1); System.out.println(empty2); System.out.println(list1.size()); System.out.println(list2.size()); }
结果:
false true 1 0
list!=null、list.size()>0、list.isEmpty()
原文:https://www.cnblogs.com/yuqingya/p/13032560.html