[Java]list集合為空或為null的區別


判斷的是list這個集合的問題,當前需要判斷list內值的問題。

簡述
判斷一個list集合是否為空,我們的慣性思維是判斷list是否等於null即可,但是在Java中,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()
1
list.isEmpty()和list.size()==0 沒有區別, isEmpty()判斷有沒有元素,而size()返回有幾個元素,如果判斷一個集合有無元素,建議用isEmpty()方法. 這清晰,簡明

null判斷
list等於null,可理解為沒有對list集合分配內存空間,實際上壓根就不存在。
建議
所以,兩者之間的區別,你懂了吧?
建議在編碼時,采用:

if(list != null && !list.isEmpty()){
這個里面取list中的值
}else{
做其他處理
}
---------------------
作者:光陰迷客
來源:CSDN
原文:https://blog.csdn.net/changqing5818/article/details/52373569
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!

---------------------------------------------------------------------------

轉自https://www.cnblogs.com/yuanchaoyong/p/6247896.html

1、如果想判斷list是否為空,可以這么判斷:

if(null == list || list.size() ==0 ){

  //為空的情況

}else{

  //不為空的情況

}

2、list.isEmpty() 和  list.size()==0  有啥區別呢

    答案:沒有區別 。isEmpty()判斷有沒有元素,而size()返回有幾個元素, 如果判斷一個集合有無元素 建議用isEmpty()方法.比較符合邏輯用法。

3、list!=null  跟  ! list.isEmpty()有什么區別?

這就相當與,你要要到商店買東西
 list!=null 首先判斷是否有商店 !list.isEmpty() 沒有判斷商店是否存在,而是判斷商店是否有東西 總結用法:如果連商店都沒有,何來的的東西可賣 所以一般的判斷是 if(list!=null && !list.isEmpty()){    //不為空的情況 }else{    //為空的情況 }


免責聲明!

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



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