1. 程式人生 > >list集合為空或為null的區別

list集合為空或為null的區別

簡述

Java中,list集合為空還是為null,這是兩碼事。新建一個list物件,預設值是空,而非null;因為list是一個物件,這個物件被建立就一定存在只是沒有值,但是如果為null是這個list集合根本就不存在!

舉個栗子:我有物件(list),但是沒結婚,而你沒有,那你是null,我的size為0。如果你想結婚,你就必須要先有物件(list集合),但是我就牛逼了,我就可以直接結婚啊!你沒有物件直接結婚,警察叔叔肯定會幹你了,這個時候就會NullPointException(空指標異常)。

講解:

那麼,我們什麼時候用null,什麼時候用isEmpty()或list.size()呢?

  • 空集合

isEmpty() 或者(list.size() == 0)用於判斷List內容是否為空,即表裡一個元素也沒有,即list是一個空集合,而不是null,所以為了避免異常,建議在使用或賦值list集合之前,做一次空集合建立處理,進行記憶體空間分配,也就是要結婚先找物件:

List list2 = new ArrayList()

list.isEmpty()和list.size()==0 沒有區別, isEmpty()判斷有沒有元素,而size()返回有幾個元素,如果判斷一個集合有無元素,建議用isEmpty()方法.

  • null判斷 
    list等於null,可理解為沒有對list集合分配記憶體空間,也就是沒有物件你結毛的婚。

總結:

所以,兩者之間的區別,你懂了吧? 
建議在編碼時,採用:

if(list != null && !list.isEmpty()){ 這個裡面取list中的值}

else{ 做其他處理}