list!=null、list.size()>0、list.isEmpty()

在工作中对爬虫数据入库时,对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()=false

 @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

  

原文地址:https://www.cnblogs.com/yuqingya/p/13032560.html