使用isEmpty方法,null以及的區別,在list中,或者是String類型的時候

判斷一個list集合是否爲空,用isEmpty 還是 null的問題

在java開發中新手容易將判斷一個list集合是否爲空,只以If(list!=null)去判斷,且容易和isEmpty()混淆,但是,list集合爲空還是爲null,是有區別的。

先看一下下面的例子,你是否會認爲輸出null呢?
在這裏插入圖片描述

造成這種結果其實是null判斷是判斷有沒有對list集合分配內存空間,而不是list裏面內容是否爲空。

看一下isEmpty()
在這裏插入圖片描述

isEmpty() 和(list.size() == 0)都是判斷List內容是否爲空

new一個user對象,判斷user的list內容是否爲空,出現異常,這是因爲, 使用isEmpty()和size()的前提是,list是一個空集合,而不是null,否則會拋異常。

在這裏插入圖片描述

所有我們在判斷集合不爲空的時候常採用:**if(list!=null&&!list.isEmpty())**的方法去取list裏面的值

  1. isEmpty() 用於判斷List內容是否爲空,即list裏一個元素也沒有,
    但是必須在 List getNewsList 本身不是空的引用的情況下才行。
    即對象本身不能是空對象。
    2.null一般判斷該List的引用也空的情況下
    例如:
List list1 =null;
List list2=new ArrayList();
System.out.println(list2.isEmpty()); //true

System.out.println(list1.isEmpty()); //空指針異常

因爲list2對象已經分配了空間,所以可以使用list2.isEmpty()來判斷使用有元素

如果用list2 !=null來判斷,只能判斷list2是否分配了空間

例如上面的list1使用list1.isEmpty())就會報空指針異常

list2.isEmpty()就爲true

如果將上面的判斷修改爲

System.out.println(list2.isEmpty()); 

System.out.println(list1 == null); 

兩者就都爲true了

參考文檔 = https://blog.csdn.net/yinni11/article/details/79887842

參考文檔 = https://www.cnblogs.com/dang-/p/11228232.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章