Java中判斷對象是否為空的方法的詳解
首先來看一下工具StringUtils的判斷方法:
一種是org.apache.commons.lang3包下的;
另一種是org.springframework.util包下的。這兩種StringUtils工具類判斷對象是否為空是有差距的:
StringUtils.isEmpty(CharSequence cs); //org.apache.commons.lang3包下的StringUtils類,判斷是否為空的方法參數(shù)是字符序列類,也就是String類型 StringUtils.isEmpty(Object str); //而org.springframework.util包下的參數(shù)是Object類,也就是不僅僅能判斷String類型,還能判斷其他類型,比如Long等類型。
從上面的例子可以看出第二種的StringUtils類更實用。
下面來看一下org.apache.commons.lang3的StringUtils.isEmpty(CharSequence cs)源碼:
public static boolean isEmpty(final CharSequence cs) { return cs == null || cs.length() == 0; }
接下來是org.springframework.util的StringUtils.isEmpty(Object str)源碼:
public static boolean isEmpty(Object str) { return (str == null || "".equals(str)); }
基本上判斷對象是否為空,StringUtils.isEmpty(Object str)這個方法都能搞定。
接下來就是判斷數(shù)組是否為空
list.isEmpty(); //返回boolean類型。
判斷集合是否為空
例1: 判斷集合是否為空:
CollectionUtils.isEmpty(null): true CollectionUtils.isEmpty(new ArrayList()): true CollectionUtils.isEmpty({a,b}): false
例2:判斷集合是否不為空:
CollectionUtils.isNotEmpty(null): false CollectionUtils.isNotEmpty(new ArrayList()): false CollectionUtils.isNotEmpty({a,b}): true
2個集合間的操作:
集合a: {1,2,3,3,4,5}
集合b: {3,4,4,5,6,7}
CollectionUtils.union(a, b)(并集): {1,2,3,3,4,4,5,6,7} CollectionUtils.intersection(a, b)(交集): {3,4,5} CollectionUtils.disjunction(a, b)(交集的補集): {1,2,3,4,6,7} CollectionUtils.disjunction(b, a)(交集的補集): {1,2,3,4,6,7} CollectionUtils.subtract(a, b)(A與B的差): {1,2,3} CollectionUtils.subtract(b, a)(B與A的差): {4,6,7}
以上所述是小編給大家介紹的Java中判斷對象是否為空的方法詳解整合,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關(guān)文章
IntelliJ IDEA Project窗口的一些設(shè)置詳解
這篇文章主要介紹了IntelliJ IDEA Project窗口的一些設(shè)置詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08java 將 list 字符串用逗號隔開拼接字符串的多種方法
這篇文章主要介紹了java 將 list 字符串用逗號隔開拼接字符串,本文給大家分享四種方法,每種方法通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-12-12SpringBoot結(jié)合Quartz實現(xiàn)數(shù)據(jù)庫存儲
本文主要介紹了SpringBoot+Quartz+數(shù)據(jù)庫存儲,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-01-01springboot文件上傳時maxPostSize設(shè)置大小失效問題及解決
這篇文章主要介紹了springboot文件上傳時maxPostSize設(shè)置大小失效問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-07-07線程池ThreadPoolExecutor并行處理實現(xiàn)代碼
這篇文章主要介紹了線程池ThreadPoolExecutor并行處理實現(xiàn)代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-11-11