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