欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java中StringUtils與CollectionUtils和ObjectUtil概念講解

 更新時間:2022年12月27日 11:09:42   作者:十年(Sugar)  
這篇文章主要介紹了Java中StringUtils與CollectionUtils和ObjectUtil概念,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧

一.解析

概念

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

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

三.總結(jié)

1.StringUtils多用來判讀字符串字段,ObjectUtil多用來判斷對象,CollectionUtils多用來判斷集合

2.看情況而定, 有時我們的對象是空的時候有時這些方法有時會失效, 這是我們需要找尋其他的方法來進行非空判斷, 避免"空指針異常"

到此這篇關(guān)于Java中StringUtils與CollectionUtils和ObjectUtil概念講解的文章就介紹到這了,更多相關(guān)Java StringUtils內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • JVM內(nèi)置函數(shù)Intrinsics介紹

    JVM內(nèi)置函數(shù)Intrinsics介紹

    這篇文章主要介紹了JVM內(nèi)置函數(shù)Intrinsics,我們將學(xué)習(xí)什么是intrinsics(內(nèi)部/內(nèi)置函數(shù)),以及它們?nèi)绾卧贘ava和其他基于JVM的語言中工作,需要的朋友可以參考一下
    2022-02-02
  • 詳解Java設(shè)計模式編程中的依賴倒置原則

    詳解Java設(shè)計模式編程中的依賴倒置原則

    這篇文章主要介紹了詳解Java設(shè)計模式中的依賴倒置原則,針對面對對象編程中的抽象的運用,需要的朋友可以參考下
    2016-02-02
  • Java中接口的多態(tài)詳解

    Java中接口的多態(tài)詳解

    大家好,本篇文章主要講的是Java中接口的多態(tài)詳解,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下
    2022-02-02
  • 通過Java查看程序資源占用情況

    通過Java查看程序資源占用情況

    這篇文章主要介紹了通過Java查看程序資源占用情況,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-05-05
  • java中常見的中文亂碼總結(jié)

    java中常見的中文亂碼總結(jié)

    本文主要介紹了java中常見的中文亂碼以及解決方法,主要包括字節(jié)碼文件讀取時出現(xiàn)的亂碼問題,本文通過實例代碼給大家介紹的非常詳細,具有很好的參考價值,感興趣的朋友跟隨小編一起看看吧
    2017-03-03
  • SpringBoot+ECharts是如何實現(xiàn)數(shù)據(jù)可視化的

    SpringBoot+ECharts是如何實現(xiàn)數(shù)據(jù)可視化的

    今天帶大家學(xué)習(xí)的是關(guān)于Java的相關(guān)知識,文章圍繞著SpringBoot+ECharts怎么實現(xiàn)數(shù)據(jù)可視化展開,文中有非常詳細的介紹及代碼示例,需要的朋友可以參考下
    2021-06-06
  • 詳解MybatisPlus中@Version注解的使用

    詳解MybatisPlus中@Version注解的使用

    在MyBatisPlus中,常常使用@Version實現(xiàn)樂觀鎖,該注解用于字段上面。本文將通過示例詳細講解@Version注解的使用,感興趣的可以了解一下
    2022-06-06
  • Quarkus中ConfigSourceInterceptor的加密配置實現(xiàn)

    Quarkus中ConfigSourceInterceptor的加密配置實現(xiàn)

    這篇文章主要為大家介紹Quarkus中ConfigSourceInterceptor加密配置的實現(xiàn)方式,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-02-02
  • Spring實戰(zhàn)之使用@Resource配置依賴操作示例

    Spring實戰(zhàn)之使用@Resource配置依賴操作示例

    這篇文章主要介紹了Spring實戰(zhàn)之使用@Resource配置依賴操作,結(jié)合實例形式分析了Spring使用@Resource配置依賴具體步驟、實現(xiàn)及測試案例,需要的朋友可以參考下
    2019-12-12
  • java 實現(xiàn)單鏈表逆轉(zhuǎn)詳解及實例代碼

    java 實現(xiàn)單鏈表逆轉(zhuǎn)詳解及實例代碼

    這篇文章主要介紹了java 實現(xiàn)單鏈表逆轉(zhuǎn)實例代碼的相關(guān)資料,需要的朋友可以參考下
    2017-02-02

最新評論