list集合為空或為null的區別


簡述

判斷一個list集合是否為空,我們的慣性思維是判斷list是否等於null即可,但是在Java中,list集合為空還是為null,這是兩碼事。

新建一個list對象,默認值是空,而非null;

引用

舉個形象的例子,我有一個空着的水杯(list),而你沒有,那你是null,我的size為0。你想裝水就需要自己去買個水杯(new ArrayList();),但是我就可以直接裝水(list.add(水))。你要是沒有杯子直接倒水,水就流出去啦(空指針異常)。

判斷

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

  • 空集合

isEmpty() 或者(list.size() == 0)用於判斷List內容是否為空,即表里一個元素也沒有, 但是使用isEmpty()和size()的前提是,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{ 做其他處理}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM