日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

commons-lang3之StringUtils

發布時間:2024/4/17 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 commons-lang3之StringUtils 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

字符串是一種在開發中經常使用到的數據類型,對字符串的處理也變得非常重要,字符串本身有一些方法,但都沒有對null做處理,而且有時可能還需要做一些額外處理才能滿足我們的需求,比如,要判斷某個字符串中是否包含字符串a或者字符串ax,使用自帶的字符串方法,我們可能要這么寫

boolean isContains = false; String s = "abc"; if(s != null) {if(s.contains("a") || s.contains("ax")) {isContains = true;} }

使用commons-lang3工具包,就只需要一行代碼就可以,其他內容已經被封裝好,并且已經對null做了處理,StringUtils類中大部分的方法都對null做了處理,所以不會出現空指針異常

boolean flag = StringUtils.containsAny("abc", new String[] {"a","ax"});

但即便如此,對于第三方jar包,也建議不要直接使用,最好自己封裝一下,使用時調用自己封裝的接口,這樣,以后如果方法有變動,或者使用其他的jar包,也不需要每個調用都做修改,只需要修改自己封裝的接口即可。不要使用已過期的方法

maven依賴如:https://www.cnblogs.com/qq931399960/p/10689571.html中所示,可以簡單先看下這個類中的方法,有個印象,在對字符串做處理時,再去源碼中查看具體的使用方式,每個方法在注釋中都有詳細的例子,使用起來很方便,比如上述containsAny方法

/*** <p>Checks if the CharSequence contains any of the CharSequences in the given array.</p>** <p>* A {@code null} {@code cs} CharSequence will return {@code false}. A {@code null} or zero* length search array will return {@code false}.* </p>** <pre>* StringUtils.containsAny(null, *) = false* StringUtils.containsAny("", *) = false* StringUtils.containsAny(*, null) = false* StringUtils.containsAny(*, []) = false* StringUtils.containsAny("abcd", "ab", null) = true* StringUtils.containsAny("abcd", "ab", "cd") = true* StringUtils.containsAny("abc", "d", "abc") = true* </pre>*** @param cs The CharSequence to check, may be null* @param searchCharSequences The array of CharSequences to search for, may be null.* Individual CharSequences may be null as well.* @return {@code true} if any of the search CharSequences are found, {@code false} otherwise* @since 3.4*/public static boolean containsAny(final CharSequence cs, final CharSequence... searchCharSequences) {if (isEmpty(cs) || ArrayUtils.isEmpty(searchCharSequences)) {return false;}for (final CharSequence searchCharSequence : searchCharSequences) {if (contains(cs, searchCharSequence)) {return true;}}return false;}

下面是對StringUtils的一些簡單測試

// true,為null或者size==0,返回trueboolean empty = StringUtils.isEmpty("");// false,與isEmpty相反boolean notEmpty = StringUtils.isNotEmpty("");// true,數組中有一個為null或size==0的字符串,則返回trueboolean anyEmpty = StringUtils.isAnyEmpty(new String[] { "aa", "" });// false,全部都不為空,返回trueboolean noneEmpty = StringUtils.isNoneEmpty(new String[] { "", "aa" });// true,全部為空,返回trueboolean allEmpty = StringUtils.isAllEmpty(new String[] { "", "" });// true,為null或者size==0或者只存在空白字符(如" "),則返回trueboolean blank = StringUtils.isBlank(" ");// false,與isBlank相反boolean notBlank = StringUtils.isNotBlank(" ");// true,數組中任何一個為null或者空字符串或者空白字符,則返回trueboolean anyBlank = StringUtils.isAnyBlank(new String[] { "dd", " " });// false,與isAnyBlank 相反boolean noneBlank = StringUtils.isNoneBlank(new String[] { "dd", "" });// true,數組中的數據全部為null,或者空字符串或者空白字符,則返回trueboolean allBlank = StringUtils.isAllBlank(new String[] { "", " " });// dd,去掉前后字符,為null,返回nullString trim = StringUtils.trim(" dd ");// "",為null或者size==0,則返回空字符串String trimToEmpty = StringUtils.trimToEmpty(" ");// null,為null或者size==0,則返回nullString trimToNull = StringUtils.trimToNull(" ");// abc,截取字符串String truncate = StringUtils.truncate("abcde", 3);// cdefg,從第二個起,截取5個長度String truncate = StringUtils.truncate("abcdefghl", 2, 5);// ddds與trim類似String strip = StringUtils.strip(" dd d s ");// yes, it is,去掉指定的開頭字符和結尾字符,第二個字符為dd或者da也會有同樣輸出String strip = StringUtils.strip("ddyes, it is ddd", "d");// yes, it is dddString stripStart = StringUtils.stripStart("ddyes, it is ddd", "d");// ddyes, it isString stripEnd = StringUtils.stripEnd("ddyes, it is ddd", "d");// [it is, dd],去掉參數中所有元素的前后空格String[] stripAll = StringUtils.stripAll(" it is ", " dd ");// [it is , it],去掉數組中每個元素前后的指定字符String[] stripAll = StringUtils.stripAll(new String[] { "ddit is d", "ditd" }, "d");// falseboolean equals = StringUtils.equals(null, "");// trueboolean equalsIgnoreCase = StringUtils.equalsIgnoreCase("abc", "ABC");// [,ab,cde, dsd,] 2個元素,默認分隔符為空白字符String[] split = StringUtils.split(",ab,cde dsd,");// [ab, cde , dsd] 3個元素,去掉了為空的元素,空白字符組成的字符串會保留String[] split = StringUtils.split(",ab,cde ,,dsd,", ",");// [ab, cde, dsd] 3個元素,以,和空白字符分隔,第二個參數中每個字符都當成一個分隔符,與上一個方法比,放方法第二個元素后沒有空白字符String[] split = StringUtils.split(",ab,cde ,,dsd,", ", ");// [ab, cde ,,dsd,] 2個元素,由于最大只允許2個String[] split = StringUtils.split(",ab,cde ,,dsd,", ", ", 2);// [,ab,cde , ,dsd,] 2個元素,第二個參數所有字符當成一個整體的分隔符String[] splitByWholeSeparator = StringUtils.splitByWholeSeparator(",ab,cde , ,dsd,", ", ");// [, dd, ],3個元素,兩個空的String[] splitPreserveAllTokens = StringUtils.splitPreserveAllTokens(" dd ");// [, aa, , ],4個元素,3個空的String[] splitPreserveAllTokens = StringUtils.splitPreserveAllTokens(",aa,,", ",");// [, aa, , bb, ] 5個元素,以,或者空白字符分隔String[] splitPreserveAllTokens = StringUtils.splitPreserveAllTokens(",aa, bb,", ", ");// [,aa, bb,] 2個,以, 作為一個整體分隔String[] splitByWholeSeparatorPreserveAllTokens = StringUtils.splitByWholeSeparatorPreserveAllTokens(",aa, bb,",", ");// [ABC, 123, abc, ;,., I, t] 6個元素String[] splitByCharacterType = StringUtils.splitByCharacterType("ABC123abc;,.It");String join = StringUtils.join("12", "a", "df", "3"); // 12adf3List<String> ls = new ArrayList<>();ls.add("aa");ls.add("bb");ls.add("cc");// insert into table values ('aa','bb','cc');,在組織'aa','bb','cc'String join = "'" + StringUtils.join(ls, "','") + "'";// abcString deleteWhitespace = StringUtils.deleteWhitespace(" a b c ");// abc is itString remove = StringUtils.remove("abcdd is dddit", "d");// dit isdd,只刪除第一個參數起始處中對應的第二個參數。String removeStart = StringUtils.removeStart("ddit isdd", "d");// ddit isd, 只刪除第一個參數結束處中對應的第二個參數。String removeEnd = StringUtils.removeEnd("ddit isdd", "d");// it isString removeIgnoreCase = StringUtils.removeIgnoreCase("ddit isdd", "D");// rdit// isdd,雖然replace的功能已經包含有replaceOne,但如果確定只有一個需要替換,最好還是使用replaceOne,因為這個找到一個替換后就會停止查找String replaceOnce = StringUtils.replaceOnce("ddit isdd", "d", "r");// rdit isddString replaceOnceIgnoreCase = StringUtils.replaceOnceIgnoreCase("ddit isdd", "D", "r");// rrit isrrString replace = StringUtils.replace("ddit isdd", "d", "r");// rrit isrrString replaceIgnoreCase = StringUtils.replaceIgnoreCase("ddit isdd", "D", "r");// rris isrr,批量替換String replaceEach = StringUtils.replaceEach("ddit isdd", new String[] { "d", "t" }, new String[] { "r", "s" });// tcteString replaceEachRepeatedly = StringUtils.replaceEachRepeatedly("abcde", new String[] { "ab", "d" },new String[] { "d", "t" });// aaaaaa 將第一個參數重復第二個參數次,形成一個新的字符串String repeat = StringUtils.repeat("aa", 3);// aa,aa,aa 將第一個參數重復第三個參數次,并且以第二個參數分隔,形成一個新的字符串String repeat = StringUtils.repeat("aa", ",", 3);// ab,在左側填充兩個空白字符,形成一個4個字符的字符串,String leftPad = StringUtils.leftPad("ab", 4);// ab ,在兩邊填充空白字符,形成一個以第一個參數為中心的4個字符串長度字符串String center = StringUtils.center("ab", 4);// true,正整數返回trueboolean numeric = StringUtils.isNumeric("123");// true 正整數,且包含有空白字符或者空字符串,空白字符,返回trueboolean numericSpace = StringUtils.isNumericSpace("12 3");// 5417543010,獲取字符串中的數字,并拼接在一起String digits = StringUtils.getDigits("(541) 754-3010");// true,字符串size==0或者空白字符,返回true,null及其他字符返回falseboolean whitespace = StringUtils.isWhitespace(" ");// abcdefg...,顯示指定長度的字符串,多余的使用...String abbreviate = StringUtils.abbreviate("abcdefghijklmnopq", 10);// abcdefg***String abbreviate = StringUtils.abbreviate("abcdefghijklmnopq", "***", 10);// abcd***opqString abbreviateMiddle = StringUtils.abbreviateMiddle("abcdefghijklmnopq", "***", 10);// a,獲取數組共所有元素相同的前綴String commonPrefix = StringUtils.getCommonPrefix("abcdf", "ads", "arf");// true, endsWith同理boolean startsWith = StringUtils.startsWith("abcdef", "ab");// true,endsWithIgnoreCase同理boolean startsWithIgnoreCase = StringUtils.startsWithIgnoreCase("abcdefg", "aB");// true,第一個參數的前綴匹配第二個數組參數中的任何一個元素時,返回true,endsWithAny同理boolean startsWithAny = StringUtils.startsWithAny("abcdef", new String[] { "x", "ab", " " });// abcxyzddd,如果出第一個參數的后綴包含在后面參數中,則直接返回第一個參數,否則將返回第一個參數+第二個參數String appendIfMissing = StringUtils.appendIfMissing("abcxyz", "ddd", new String[] { "qwe", "123" });// dddabcxyz,原理同上String prependIfMissing = StringUtils.prependIfMissing("abcxyz", "ddd", new String[] { "qwe", "123" });// cbdString encodedString = StringUtils.toEncodedString(new byte[] { 'c', 'b', 'd' }, Charset.defaultCharset());// "xxx"String wrap = StringUtils.wrap("xxx", "\"");// *xx*String wrapIfMissing = StringUtils.wrapIfMissing("xx", "*");// 前后必須有相同字符才可以unwrapString unwrap = StringUtils.unwrap("'aa'", "'");// {97,98,99}int[] codePoints = StringUtils.toCodePoints("abc");// abc,刪除最后一個字符,如果是\r\n則一起刪除String chop = StringUtils.chop("abc\r\n");// abc,如果最后存在換行符,則刪除最后的換行符String chomp = StringUtils.chomp("abc\r\n");// trueboolean contains = StringUtils.contains("abcd", "ab");// trueboolean containsAny = StringUtils.containsAny("abcdefg", "2", "a");// falseboolean containsOnly = StringUtils.containsOnly("abcdefg", "aa");// trueboolean containsIgnoreCase = StringUtils.containsIgnoreCase("abcdef", "aB");// falseboolean containsNone = StringUtils.containsNone("abcdef", 'a', 'x');// trueboolean containsWhitespace = StringUtils.containsWhitespace("aa bbc");// 此外還有substring,indexof等方法 View Code

?

轉載于:https://www.cnblogs.com/qq931399960/p/10697895.html

總結

以上是生活随笔為你收集整理的commons-lang3之StringUtils的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 中文婷婷 | 黄色污在线观看 | 五月婷婷影院 | 男人的亚洲天堂 | 全国男人天堂网 | 一个人免费在线观看视频 | 嫩草影院一区二区 | 婷婷视频一区二区三区 | 日本黄在线 | 色丁香在线 | 91亚洲欧美激情 | 成人黄色在线看 | 欧美乱欲视频 | 亚洲久久在线 | 亚洲精品久久久狠狠狠爱 | 婷婷久久久 | 国产精品传媒视频 | 久久中文娱乐网 | 亚洲久久成人 | 天堂网在线资源 | 美女的奶胸大爽爽大片 | 国产精品黑丝 | 伊人9999| 欧美瑟瑟| 欧美性猛交久久久久 | 欧美一级射 | 九九热色 | 国产一区二区三区免费播放 | 精品欧美一区二区精品久久 | a级片网址| 美女脱裤子让男人捅 | 午夜黄色在线观看 | 性欧美大战久久久久久久免费观看 | 日本国产中文字幕 | 91色区| 欧美精品aa | 欧美日韩不卡在线 | a网址| 中文字幕超清在线免费观看 | 男人疯狂高潮呻吟视频 | 在线免费观看污片 | 2019亚洲天堂| 91亚洲国产成人精品一区二三 | 亚洲国产黄色片 | 成人一区二区av | 亚洲激情综合 | www.国产毛片| 色婷婷香蕉在线一区二区 | 亚洲一区二区中文 | 18成人在线观看 | 男女黄色片 | 亚洲天天综合网 | 久操精品在线 | 免费的黄色网址 | 五月天丁香社区 | 人体内射精一区二区三区 | 最近日韩中文字幕中文 | 久久久午夜视频 | 成人在线观看免费高清 | 成年视频在线 | 国产成人aaaa | 欧美你懂得 | 国产精品久久综合视频 | 色午夜视频 | 日韩欧美一 | 国产91在线高潮白浆在线观看 | 国产福利片在线 | 国产淫语 | 亚洲免费视频一区二区 | 日本欧美国产在线 | www.日韩av.com| 这里只有精品在线观看 | 亚洲精品自拍视频 | 91禁动漫在线 | 中文字幕免费看 | 伊人久久中文 | 黄色小说在线看 | 伊人色网 | 最近中文字幕在线视频 | 天天射网站 | 中文字幕日韩欧美一区二区 | 色香蕉在线视频 | 国产精品2019 | 欧美成人精品一区二区综合免费 | 桃谷绘里香在线播放 | 亚洲字幕| 五月天导航 | 大帝av | 久久y| 久久婷婷精品 | 成人伊人 | 国产欧美一区二区精品忘忧草 | 日韩在线第二页 | 国产xxx在线观看 | 三级黄色片免费 | 日韩亚洲一区二区三区 | 夜夜春夜夜爽 | 国产人妻大战黑人20p | 一级做a爰片久久毛片 |