Java中各種集合判空方法總結(jié)
集合判空
CollectionUtils.isEmpty推薦
這個使用到了spring的工具類,需要提前引入依賴
import org.springframework.util.CollectionUtils;
List<String> list = new ArrayList<>(); // 使用CollectionUtils判斷l(xiāng)ist是否為空 if (!CollectionUtils.isEmpty(list)) { System.out.println("list is not empty"); }
原始判斷
List<String> list = new ArrayList<>(); if (list!=null && list.size()>0) { System.out.println("list is not empty"); }
isEmpty
這個方法是集合集成到自身的方法,可以看一下List的源碼
List<String> list = new ArrayList<>(); if (list.isEmpty()) { System.out.println("list is empty"); }
其他
List<String> list = new ArrayList<>(); if(StringUtils.isNull(list) || list.size() == 0){ System.out.println("list is empty"); }
數(shù)組判空
在Java
中,可以使用以下方式判斷一個數(shù)組是否為空:
判斷數(shù)組的長度是否為0
Object[] arr = new Object[0]; if (arr.length == 0) { System.out.println("數(shù)組為空"); }
判斷數(shù)組實例是否為null
Object[] arr = null; if (arr == null) { System.out.println("數(shù)組為空"); }
在實際使用時,我們可以結(jié)合以上兩種方式來進(jìn)行更精細(xì)的判斷,例如:
Object[] arr = new Object[0]; if (arr == null || arr.length == 0) { System.out.println("數(shù)組為空"); }
這樣就可以同時判斷數(shù)組實例是否為null
,以及數(shù)組的長度是否為0
。
當(dāng)然,如果你是使用Java 8
及以上版本,也可以使用Arrays
類的Objects.isNull()
方法或Objects.nonNull()
方法進(jìn)行判斷:
Object[] arr1 = new Object[0]; if (Objects.isNull(arr1)) { System.out.println("數(shù)組為null"); } Object[] arr2 = new Object[0]; if (Objects.nonNull(arr2)) { System.out.println("數(shù)組不為null"); }
這樣可以使代碼更加簡潔易讀。
附:測試
public static void main(String[] args) { List list1 = new ArrayList(); List list2 = null; System.out.println("結(jié)果1:" + CollectionUtils.isEmpty(list1)); System.out.println("結(jié)果2:" + CollectionUtils.isEmpty(list2)); System.out.println("結(jié)果3:" + list1.isEmpty()); System.out.println("結(jié)果4:" + list2.isEmpty()); }
總結(jié)
到此這篇關(guān)于Java中各種集合判空方法總結(jié)的文章就介紹到這了,更多相關(guān)Java集合判空內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
DoytoQuery中的關(guān)聯(lián)查詢方案示例詳解
這篇文章主要為大家介紹了DoytoQuery中的關(guān)聯(lián)查詢方案示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-12-12mybatis寫xml時數(shù)字類型千萬別用 !=‘‘(不為空串)進(jìn)行判斷的示例詳解
這篇文章主要介紹了mybatis寫xml時數(shù)字類型千萬別用 !=‘‘(不為空串)進(jìn)行判斷的示例詳解,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-09-09java 數(shù)據(jù)結(jié)構(gòu)二叉樹的實現(xiàn)代碼
這篇文章主要介紹了java 數(shù)據(jù)結(jié)構(gòu)二叉樹的實現(xiàn)代碼的相關(guān)資料,需要的朋友可以參考下2016-09-09MyBatis中 #{} 和 ${} 的區(qū)別小結(jié)
MyBatis中#{}和${}是兩種占位符,本文就來介紹一下MyBatis中 #{} 和 ${} 的區(qū)別小結(jié),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2024-12-12SpringBoot2.x 整合 AntiSamy防御XSS攻擊的簡單總結(jié)
本文主要對SpringBoot2.x集成AntiSamy防御XSS攻擊進(jìn)行簡單總結(jié),其中SpringBoot使用的2.4.5版本,通過示例代碼給大家介紹的非常詳細(xì),需要的朋友參考下吧2021-08-08