最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Springboot工具類StringUtils使用教程

 更新時間:2022年12月30日 16:39:00   作者:凡夫販夫  
這篇文章主要介紹了Springboot內(nèi)置的工具類之StringUtils的使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習吧

在實際的業(yè)務開發(fā)中,除了經(jīng)常有針對對象的判斷或操作以外,經(jīng)常也會遇到的就是字符串的判斷和操作。比如判斷字符串是否為空、是否以某個字符結(jié)尾、去除頭部和尾部的空白字符、字符的查找和替換。在Spring的核心包中存在這樣一個類org.springframework.util.StringUtils,它提供了常見的關于字符串的判斷和操作的靜態(tài)方法。下面咱們針對一些常見的一塊學習一下,順便再把前面說的斷言給復習一下:

org.springframework.util.StringUtils

字符串判斷

判斷字符串是否為 null,或 ""。注意,包含空白符的字符串為非空。

booleanisEmpty(Objectstr)

@Test
public void test() {
    String name = "";
    boolean empty = StringUtils.isEmpty(name);
    Assert.isTrue(empty, "變量name是有值的");
    System.out.println("給name賦值為zhangsan");
    name = "zhangsan";
    boolean empty1 = StringUtils.isEmpty(name);
    Assert.isTrue(empty1, "變更name是有值的");
}

判斷字符串是否是以指定內(nèi)容結(jié)束。忽略大小寫。

booleanendsWithIgnoreCase(Stringstr,Stringsuffix)

@Test
public void test2() {
    String name = "zhangsanAK";
    boolean ak = StringUtils.endsWithIgnoreCase(name, "ak");
    Assert.isTrue(ak, "變量name不是以ak結(jié)尾的");
    boolean akb = StringUtils.endsWithIgnoreCase(name, "akb");
    Assert.isTrue(akb, "變量name不是以akb結(jié)尾的");
}

判斷字符串是否已指定內(nèi)容開頭。忽略大小寫。

booleanstartsWithIgnoreCase(Stringstr,Stringprefix)

@Test
public void test3() {
    String name = "OKzhangsan";
    boolean ok = StringUtils.startsWithIgnoreCase(name, "ok");
    Assert.isTrue(ok, "變量name不是以ak結(jié)尾的");
    boolean abc = StringUtils.startsWithIgnoreCase(name, "abc");
    Assert.isTrue(abc, "變量name不是以abc開始的");
}

是否包含空白符。

booleancontainsWhitespace(Stringstr)

@Test
public void test4() {
    String name = "OK zhangsan";
    boolean spaceFlag = StringUtils.containsWhitespace(name);
    Assert.isTrue(spaceFlag, "變量name沒有包含空格");
    System.out.println("給name賦值為zhangsan");
    name = "zhangsan";
    boolean spaceFlag2 = StringUtils.containsWhitespace(name);
    Assert.isTrue(spaceFlag2, "變量name沒有包含空格");
}

判斷字符串非空且長度不為 0,即,Not Empty。

booleanhasLength(CharSequence str)

@Test
public void test5() {
    String name = "zhangsan";
    boolean lengthFlag = StringUtils.hasLength(name);
    Assert.isTrue(lengthFlag, "變量name非空,但是長度為0");
    System.out.println("給name賦值為一個空字符串");
    name = " ";
    boolean lengthFlag2 = StringUtils.hasLength(name);
    Assert.isTrue(lengthFlag2, "變量name非空,但是長度為0");
    System.out.println("給name賦值為一個空字符串,但長度為0");
    name = "";
    boolean lengthFlag3 = StringUtils.hasLength(name);
    Assert.isTrue(lengthFlag3, "變量name非空,但是長度為0");
}

判斷字符串是否包含實際內(nèi)容,即非僅包含空白符,也就是 Not Blank。這里要特別注意一下,通常empty是指null、“”,“ ”,多個空字符就不會認為是Empty了,而是Blank;

booleanhasText(CharSequence str)

@Test
public void test6() {
    String name = "zhangsan";
    boolean lengthFlag = StringUtils.hasText(name);
    Assert.isTrue(lengthFlag, "變量name非空,但是長度為0");
    System.out.println("給name賦值為一個空字符串");
    name = "      ";
    boolean lengthFlag2 = StringUtils.hasText(name);
    Assert.isTrue(lengthFlag2, "變量是一個空字符");
}

判斷字符串指定索引處是否包含一個子串。

booleansubstringMatch(CharSequence str, int index, CharSequence substring)

@Test
public void test7() {
    String msg = "I am zhangsan";
    boolean lengthFlag = StringUtils.substringMatch(msg, 5, "zhangsan");
    Assert.isTrue(lengthFlag, "變量msg的索引位置為5的地方,是zhangsan");
    msg = "I am not zhangsan";
    boolean lengthFlag2 = StringUtils.substringMatch(msg, 5, "zhangsan");
    Assert.isTrue(lengthFlag2, "變量msg的索引位置為5的地方,是zhangsan");
}

計算一個字符串中指定子串的出現(xiàn)次數(shù)。

int countOccurrencesOf(Stringstr,Stringsub)

@Test
public void test8() {
    String msg = "aaa";
    int count = StringUtils.countOccurrencesOf(msg, "a");
    Assert.isTrue(count == 3, "變量msg中沒有包含3個a");
    msg = "bbb";
    int count2 = StringUtils.countOccurrencesOf(msg, "b");
    Assert.isTrue(count2==4, "變量msg中沒有包含4個b");
}

字符串操作

查找并替換指定子串。

String replace(String inString, String oldPattern, String newPattern)

@Test
public void test10() {
    String name = "aba";
    String name2 = StringUtils.replace(name, "b", "a");
    Assert.isTrue(name2.equals("aaa"), "變量name替換b后結(jié)果不是aaa");
}

去除尾部的特定字符。

String trimTrailingCharacter(String str, char trailingCharacter)

@Test
public void test11() {
    String name = "aba";
    String a = StringUtils.trimTrailingCharacter(name, 'a');
    Assert.isTrue(a.equals("ab"), "去除尾部的a后不是ab");
}

去除頭部的特定字符。

String trimLeadingCharacter(String str, char leadingCharacter)

@Test
public void test12() {
    String name = "aba";
    String a = StringUtils.trimLeadingCharacter(name, 'a');
    Assert.isTrue(a.equals("ba"), "去除開頭的a后不是ba");
}

去除頭部的空白符。

String trimLeadingWhitespace(String str)

@Test
public void test13() {
    String name = "aba  ";
    String a = StringUtils.trimTrailingWhitespace(name);
    Assert.isTrue(a.equals("aba"), "去除尾部的空格失敗了");
}

去除頭部的空白符。

String trimTrailingWhitespace(String str)

@Test
public void test14() {
    String name = "   aba";
    String a = StringUtils.trimLeadingWhitespace(name);
    Assert.isTrue(a.equals("aba"), "去除開頭的空格失敗了");
}

去除頭部和尾部的空白符。

String trimWhitespace(String str)

@Test
public void test15() {
    String name = "   aba    ";
    String a = StringUtils.trimWhitespace(name);
    Assert.isTrue(a.equals("aba"), "去除開頭和尾部的空格失敗了");
}

刪除開頭、結(jié)尾和中間的空白符。

String trimAllWhitespace(String str)

@Test
public void test16() {
    String name = "   a   b   a    ";
    String a = StringUtils.trimAllWhitespace(name);
    Assert.isTrue(a.equals("aba"), "去除開頭、中間、尾部的空格失敗了");
}

刪除指定子串。

String delete(String inString, String pattern)

@Test
public void test17() {
    String name = "abcabc";
    String a = StringUtils.delete(name,"bc");
    Assert.isTrue(a.equals("aa"), "刪除變更name里的字符b失敗了");
}

對數(shù)組的每一項執(zhí)行 trim() 方法。

String[] trimArrayElements(String[] array)

@Test
public void test18() {
    String[] names = {" zhangsan " ," li si "};
    String[] arr = StringUtils.trimArrayElements(names);
    for (String s : arr) {
        Assert.isTrue(s.equals("zhangsan")||s.equals("lisi"), "字符"+s+"中沒有包含zhangsan或lisi");
    }
}

將 URL 字符串進行解碼。

String uriDecode(String source, Charset charset)

@Test
public void test19() {
    String result="http://localhost:8080/abc?name=zhangsan";
    String url="http%3A%2F%2Flocalhost%3A8080%2Fabc%3Fname%3Dzhangsan";
    String tmp = StringUtils.uriDecode(url, Charset.forName("utf-8"));
    Assert.isTrue(result.equals(tmp), "解碼失敗");
}

到此這篇關于Springboot工具類StringUtils使用教程的文章就介紹到這了,更多相關Springboot StringUtils內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 一篇文章帶你了解JAVA結(jié)構化編程詳情

    一篇文章帶你了解JAVA結(jié)構化編程詳情

    下面小編就為大家?guī)硪黄v解JAVA結(jié)構化編程的文章。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2021-09-09
  • Java?中?Class?Path?和?Package的使用詳解

    Java?中?Class?Path?和?Package的使用詳解

    這篇文章主要介紹了Java?中?Class?Path和Package的使用詳解,文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,需要的朋友可以參考一下
    2022-08-08
  • MAC上IntelliJ IDEA的svn無法保存密碼解決方案

    MAC上IntelliJ IDEA的svn無法保存密碼解決方案

    今天小編就為大家分享一篇關于MAC上IntelliJ IDEA的svn無法保存密碼解決方案,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2018-10-10
  • 自定義BufferedReader的實例

    自定義BufferedReader的實例

    下面小編就為大家分享一篇自定義BufferedReader的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2017-12-12
  • 用GUI實現(xiàn)java版貪吃蛇小游戲

    用GUI實現(xiàn)java版貪吃蛇小游戲

    這篇文章主要為大家詳細介紹了用GUI實現(xiàn)java版貪吃蛇小游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-04-04
  • Java使用TCP實現(xiàn)數(shù)據(jù)傳輸實例詳解

    Java使用TCP實現(xiàn)數(shù)據(jù)傳輸實例詳解

    這篇文章主要介紹了Java使用TCP實現(xiàn)數(shù)據(jù)傳輸實例詳解的相關資料,需要的朋友可以參考下
    2017-06-06
  • 詳解Java中Duration類的使用方法

    詳解Java中Duration類的使用方法

    Duration類通過秒和納秒相結(jié)合來描述一個時間量,最高精度是納秒。本文將通過示例詳細為大家講講Duration類的使用,需要的可以參考一下
    2022-05-05
  • java中獲取json的所有key方法

    java中獲取json的所有key方法

    下面小編就為大家分享一篇java中獲取json的所有key方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-03-03
  • Spring實戰(zhàn)之使用TransactionProxyFactoryBean實現(xiàn)聲明式事務操作示例

    Spring實戰(zhàn)之使用TransactionProxyFactoryBean實現(xiàn)聲明式事務操作示例

    這篇文章主要介紹了Spring實戰(zhàn)之使用TransactionProxyFactoryBean實現(xiàn)聲明式事務操作,結(jié)合實例形式分析了spring使用TransactionProxyFactoryBean實現(xiàn)聲明式事務相關配置、接口設置與使用技巧,需要的朋友可以參考下
    2020-01-01
  • Java實現(xiàn)簡易的洗牌和發(fā)牌功能

    Java實現(xiàn)簡易的洗牌和發(fā)牌功能

    本文主要介紹了Java實現(xiàn)簡易的洗牌和發(fā)牌功能,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-04-04

最新評論

德江县| 洛宁县| 灵川县| 阳江市| 井研县| 岳西县| 潞西市| 阳东县| 博客| 临颍县| 锡林郭勒盟| 望奎县| 施秉县| 如皋市| 东兰县| 滦南县| 清丰县| 蓝田县| 仪陇县| 成武县| 纳雍县| 博兴县| 丹凤县| 定州市| 夏河县| 临城县| 习水县| 韶山市| 雅安市| 泰兴市| 龙南县| 台南县| 奎屯市| 康乐县| 织金县| 滨海县| 调兵山市| 襄汾县| 攀枝花市| 安义县| 额尔古纳市|