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é)合以上兩種方式來進行更精細的判斷,例如:
Object[] arr = new Object[0];
if (arr == null || arr.length == 0) {
System.out.println("數(shù)組為空");
}
這樣就可以同時判斷數(shù)組實例是否為null,以及數(shù)組的長度是否為0。
當然,如果你是使用Java 8及以上版本,也可以使用Arrays類的Objects.isNull()方法或Objects.nonNull()方法進行判斷:
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)查詢方案示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-12-12
mybatis寫xml時數(shù)字類型千萬別用 !=‘‘(不為空串)進行判斷的示例詳解
這篇文章主要介紹了mybatis寫xml時數(shù)字類型千萬別用 !=‘‘(不為空串)進行判斷的示例詳解,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-09-09
java 數(shù)據(jù)結(jié)構(gòu)二叉樹的實現(xiàn)代碼
這篇文章主要介紹了java 數(shù)據(jù)結(jié)構(gòu)二叉樹的實現(xiàn)代碼的相關(guān)資料,需要的朋友可以參考下2016-09-09
MyBatis中 #{} 和 ${} 的區(qū)別小結(jié)
MyBatis中#{}和${}是兩種占位符,本文就來介紹一下MyBatis中 #{} 和 ${} 的區(qū)別小結(jié),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2024-12-12
SpringBoot2.x 整合 AntiSamy防御XSS攻擊的簡單總結(jié)
本文主要對SpringBoot2.x集成AntiSamy防御XSS攻擊進行簡單總結(jié),其中SpringBoot使用的2.4.5版本,通過示例代碼給大家介紹的非常詳細,需要的朋友參考下吧2021-08-08

