溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Java中StringUtils、CollectionUtils和ObjectUtil的區(qū)別是什么

發(fā)布時間:2022-12-28 09:11:52 來源:億速云 閱讀:150 作者:iii 欄目:開發(fā)技術(shù)

這篇文章主要介紹“Java中StringUtils、CollectionUtils和ObjectUtil的區(qū)別是什么”的相關(guān)知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“Java中StringUtils、CollectionUtils和ObjectUtil的區(qū)別是什么”文章能幫助大家解決問題。

    一.解析

    概念

    StringUtils概念

    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概念

    CollectionUtils是日常經(jīng)常會用到的一個工具類,在包org.apache.commons.collections中。

    目前最常用到的兩個方法是CollectionUtils.isEmpty()以及CollectionUtils.isNotEmpty()。

    ObjectUtil概念

    ObjectUtils工具類會嘗試優(yōu)雅的處理null輸入,對于空輸入通常不會拋出異常,每個方法都更詳細的記錄其行為。在標(biāo)準(zhǔn)的應(yīng)用程序中ObjectUtils類不應(yīng)該被實例化。

    二.區(qū)別

    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é)果

    Java中StringUtils、CollectionUtils和ObjectUtil的區(qū)別是什么

    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é)果

    Java中StringUtils、CollectionUtils和ObjectUtil的區(qū)別是什么

    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é)果

    Java中StringUtils、CollectionUtils和ObjectUtil的區(qū)別是什么

    關(guān)于“Java中StringUtils、CollectionUtils和ObjectUtil的區(qū)別是什么”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識,可以關(guān)注億速云行業(yè)資訊頻道,小編每天都會為大家更新不同的知識點。

    向AI問一下細節(jié)

    免責(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)容。

    AI