在工作中對爬蟲數據入庫時,對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