Java中判斷對(duì)象是否為空的方法的詳解
首先來(lái)看一下工具StringUtils的判斷方法:
一種是org.apache.commons.lang3包下的;
另一種是org.springframework.util包下的。這兩種StringUtils工具類判斷對(duì)象是否為空是有差距的:
StringUtils.isEmpty(CharSequence cs); //org.apache.commons.lang3包下的StringUtils類,判斷是否為空的方法參數(shù)是字符序列類,也就是String類型 StringUtils.isEmpty(Object str); //而org.springframework.util包下的參數(shù)是Object類,也就是不僅僅能判斷String類型,還能判斷其他類型,比如Long等類型。
從上面的例子可以看出第二種的StringUtils類更實(shí)用。
下面來(lái)看一下org.apache.commons.lang3的StringUtils.isEmpty(CharSequence cs)源碼:
public static boolean isEmpty(final CharSequence cs) {
return cs == null || cs.length() == 0;
}
接下來(lái)是org.springframework.util的StringUtils.isEmpty(Object str)源碼:
public static boolean isEmpty(Object str) {
return (str == null || "".equals(str));
}
基本上判斷對(duì)象是否為空,StringUtils.isEmpty(Object str)這個(gè)方法都能搞定。
接下來(lái)就是判斷數(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個(gè)集合間的操作:
集合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)(交集的補(bǔ)集): {1,2,3,4,6,7}
CollectionUtils.disjunction(b, a)(交集的補(bǔ)集): {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中判斷對(duì)象是否為空的方法詳解整合,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
為什么Java是程序員受歡迎的語(yǔ)言這幾個(gè)原因你該清楚
Java一直穩(wěn)居程序員很受歡迎的編程語(yǔ)言的榜首,是企業(yè)中使用最廣泛的編程語(yǔ)言。這篇文章主要介紹了為什么Java是程序員受歡迎的語(yǔ)言這幾個(gè)原因你該清楚,需要的朋友可以參考下2020-07-07
java實(shí)現(xiàn)消息隊(duì)列的兩種方式(小結(jié))
本文主要介紹了兩種java實(shí)現(xiàn)消息隊(duì)列的方式,利用Spring消息模板發(fā)送消息和Apache ActiveMQ官方實(shí)例發(fā)送消息,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2018-12-12
Java8 使用流抽取List<T>集合中T的某個(gè)屬性操作
這篇文章主要介紹了Java8 使用流抽取List<T>集合中T的某個(gè)屬性操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-02-02
Java中實(shí)體類為什么要實(shí)現(xiàn)Serializable序列化的作用
這篇文章主要介紹了Java中實(shí)體類為什么要實(shí)現(xiàn)Serializable序列化的作用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11
java并發(fā)包中CountDownLatch和線程池的使用詳解
這篇文章主要介紹了java并發(fā)包中CountDownLatch和線程池的使用詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-02-02
Spring?boot?自定義?Starter及自動(dòng)配置的方法
Starter?組件是?Spring?boot?的一個(gè)核心特性,Starter組件的出現(xiàn)極大的簡(jiǎn)化了項(xiàng)目開(kāi)發(fā),這篇文章主要介紹了Spring?boot?自定義?Starter?及?自動(dòng)配置,需要的朋友可以參考下2022-12-12

