您好,登錄后才能下訂單哦!
這篇文章主要介紹“Java中StringUtils、CollectionUtils和ObjectUtil的區(qū)別是什么”的相關(guān)知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“Java中StringUtils、CollectionUtils和ObjectUtil的區(qū)別是什么”文章能幫助大家解決問題。
StringUtils 方法的操作對象是 Java.lang.String 類型的對象,是 JDK 提供的 String 類型操作方法的補充,并且是 null 安全的(即如果輸入?yún)?shù) String 為 null 則不會拋出 NullPointerException ,而是做了相應(yīng)處理,例如,如果輸入為 null 則返回也是 null 等,具體可以查看源代碼)。
除了構(gòu)造器,StringUtils 中一共有130多個方法,并且都是 static 的,所以我們可以這樣調(diào)用 StringUtils.xxx()
CollectionUtils是日常經(jīng)常會用到的一個工具類,在包org.apache.commons.collections中。
目前最常用到的兩個方法是CollectionUtils.isEmpty()以及CollectionUtils.isNotEmpty()。
ObjectUtils工具類會嘗試優(yōu)雅的處理null輸入,對于空輸入通常不會拋出異常,每個方法都更詳細的記錄其行為。在標(biāo)準(zhǔn)的應(yīng)用程序中ObjectUtils類不應(yīng)該被實例化。
1.StringUtils和 CollectionUtils分別用來判斷字符串和集合,ObjectUtil用來判斷對象
2.想要字符串是否為空,先要了解“” 和null的區(qū)別
null 是沒有地址的,可以理解為空指針。當(dāng)對象在構(gòu)造器初始化時,如果沒有被賦予初始值,那么會默認賦值為 null。
“”空字符串是一個 String 對象是有地址的,只是內(nèi)容是空。
isEmpty() 和 isBlank() 區(qū)別在于 isEmpty() 多了對于空格的判斷,如果字符串只包含有空格,isEmpty()判定是非空的,而 isBlank() 判斷空格依然是空字符串
StringUtils代碼測試
String s1=null; String s2=""; System.out.println("s1:"+s1+":"+StringUtils.isEmpty(s1)) System.out.println("s2:"+s2+":"+StringUtils.isEmpty(s2)) System.out.println("s1:"+s1+":"+StringUtils.isBlank(s1)) System.out.println("s2:"+s2+":"+StringUtils.isBlank(s2))
看結(jié)果
3.判斷集合是否為空,也需要了解size==0和null
null 是沒有地址的,可以理解為空指針。當(dāng)對象在構(gòu)造器初始化時,如果沒有被賦予初始值,那么會默認賦值為 null。
size==0表示集合已經(jīng)指向一個地址,但是指向的對象中沒有元素。
看代碼
List<String> list=new ArrayList(); list.add("張三"); list.add("李四"); list.add("王五"); if(CollectionUtils.isNotEmpty(list)){ System.out.println("有值") }else{ System.out.println("無值") }
結(jié)果
4.同樣的,判斷對象是否為空,也分為地址為空和值為空,如果地址為空,ObjectUtil.isEmpty結(jié)果為true,值為空結(jié)果為false
這里需要創(chuàng)建實體類這個步驟省去了直接上代碼
user user=new User() user userDto= null; System.out.println("user:"+Object.isEmpty(user)); System.out.println("userDto:"+Object.isEmpty(userDto));
看結(jié)果
關(guān)于“Java中StringUtils、CollectionUtils和ObjectUtil的區(qū)別是什么”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識,可以關(guān)注億速云行業(yè)資訊頻道,小編每天都會為大家更新不同的知識點。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。