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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

CommonLang3中的StringUtils最全解析

發(fā)布時(shí)間:2024/4/14 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 CommonLang3中的StringUtils最全解析 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

isEmpty

public static boolean isEmpty(CharSequence cs)

常用函數(shù)之一,判斷字符串是否為""或者null

StringUtils.isEmpty(null) = trueStringUtils.isEmpty("") = trueStringUtils.isEmpty(" ") = falseStringUtils.isEmpty("bob") = falseStringUtils.isEmpty(" bob ") = false

isNotEmpty

public static boolean isNotEmpty(CharSequence cs)

最常用函數(shù)之一,跟上面方法相對(duì)

StringUtils.isNotEmpty(null) = falseStringUtils.isNotEmpty("") = falseStringUtils.isNotEmpty(" ") = trueStringUtils.isNotEmpty("bob") = trueStringUtils.isNotEmpty(" bob ") = true

isAnyEmpty

public static boolean isAnyEmpty(CharSequence... css)

任意一個(gè)參數(shù)為空的話,返回true, 如果這些參數(shù)都不為空的話返回false。

在寫一些判斷條件的時(shí)候,這個(gè)方法還是很實(shí)用的。

StringUtils.isAnyEmpty(null) = trueStringUtils.isAnyEmpty(null, "foo") = trueStringUtils.isAnyEmpty("", "bar") = trueStringUtils.isAnyEmpty("bob", "") = trueStringUtils.isAnyEmpty(" bob ", null) = trueStringUtils.isAnyEmpty(" ", "bar") = falseStringUtils.isAnyEmpty("foo", "bar") = false

isNoneEmpty

public static boolean isNoneEmpty(CharSequence... css)

任意一個(gè)參數(shù)是空,返回false 所有參數(shù)都不為空,返回true

注意這些方法的用法

StringUtils.isNoneEmpty(null) = falseStringUtils.isNoneEmpty(null, "foo") = falseStringUtils.isNoneEmpty("", "bar") = falseStringUtils.isNoneEmpty("bob", "") = falseStringUtils.isNoneEmpty(" bob ", null) = falseStringUtils.isNoneEmpty(" ", "bar") = trueStringUtils.isNoneEmpty("foo", "bar") = true

isBlank

public static boolean isBlank(CharSequence cs)

判斷字符對(duì)象是不是空字符串,注意與isEmpty的區(qū)別

StringUtils.isBlank(null) = trueStringUtils.isBlank("") = trueStringUtils.isBlank(" ") = trueStringUtils.isBlank("bob") = falseStringUtils.isBlank(" bob ") = false

isNotBlank

public static boolean isNotBlank(CharSequence cs)

原理同上

StringUtils.isNotBlank(null) = falseStringUtils.isNotBlank("") = falseStringUtils.isNotBlank(" ") = falseStringUtils.isNotBlank("bob") = trueStringUtils.isNotBlank(" bob ") = true

isAnyBlank

public static boolean isAnyBlank(CharSequence... css) StringUtils.isAnyBlank(null) = trueStringUtils.isAnyBlank(null, "foo") = trueStringUtils.isAnyBlank(null, null) = trueStringUtils.isAnyBlank("", "bar") = trueStringUtils.isAnyBlank("bob", "") = trueStringUtils.isAnyBlank(" bob ", null) = trueStringUtils.isAnyBlank(" ", "bar") = trueStringUtils.isAnyBlank("foo", "bar") = false

isNoneBlank

public static boolean isNoneBlank(CharSequence... css) StringUtils.isNoneBlank(null) = falseStringUtils.isNoneBlank(null, "foo") = falseStringUtils.isNoneBlank(null, null) = falseStringUtils.isNoneBlank("", "bar") = falseStringUtils.isNoneBlank("bob", "") = falseStringUtils.isNoneBlank(" bob ", null) = falseStringUtils.isNoneBlank(" ", "bar") = falseStringUtils.isNoneBlank("foo", "bar") = true

trim

public static String trim(String str)

移除字符串兩端的空字符串,制表符char <= 32如:\n \t 如果為空的話,返回空

如果為""

StringUtils.trim(null) = nullStringUtils.trim("") = ""StringUtils.trim(" ") = ""StringUtils.trim("abc") = "abc"StringUtils.trim(" abc ") = "abc"

變體有

public static String trimToNull(String str) public static String trimToEmpty(String str)

不常用,跟trim()方法類似

strip

public static String strip(String str) public static String strip(String str, String stripChars)

str:被處理的字符串,可為空 stripChars: 刪除的字符串,

StringUtils.strip(null, *) = nullStringUtils.strip("", *) = ""StringUtils.strip("abc", null) = "abc"StringUtils.strip(" abc", null) = "abc"StringUtils.strip("abc ", null) = "abc"StringUtils.strip(" abc ", null) = "abc"StringUtils.strip(" abcyx", "xyz") = " abc"

equals

public static boolean equals(CharSequence cs1, CharSequence cs2)

字符串比對(duì)方法,是比較實(shí)用的方法之一,兩個(gè)比較的字符串都能為空,不會(huì)報(bào)空指針異常。

StringUtils.equals(null, null) = trueStringUtils.equals(null, "abc") = falseStringUtils.equals("abc", null) = falseStringUtils.equals("abc", "abc") = trueStringUtils.equals("abc", "ABC") = false

equalsIgnoreCse

public static boolean equalsIgnoreCase(CharSequence str1, CharSequence str2)

上面方法的變體 字符串比較(忽略大小寫),在驗(yàn)證碼……等字符串比較,真是很實(shí)用。

StringUtils.equalsIgnoreCase(null, null) = true StringUtils.equalsIgnoreCase(null, "abc") = false StringUtils.equalsIgnoreCase("abc", null) = false StringUtils.equalsIgnoreCase("abc", "abc") = true StringUtils.equalsIgnoreCase("abc", "ABC") = true

indexOf

public static int indexOf(CharSequence seq, int searchChar)

indexOf這個(gè)方法不必多說,這個(gè)方法主要處理掉了空字符串的問題,不會(huì)報(bào)空指針,有一定用處

StringUtils.indexOf(null, *) = -1StringUtils.indexOf("", *) = -1StringUtils.indexOf("aabaabaa", 'a') = 0StringUtils.indexOf("aabaabaa", 'b') = 2

ordinalIndexOf

public static int ordinalIndexOf(CharSequence str, CharSequence searchStr, int ordinal)

字符串在另外一個(gè)字符串里,出現(xiàn)第Ordinal次的位置

StringUtils.ordinalIndexOf(null, *, *) = -1StringUtils.ordinalIndexOf(*, null, *) = -1StringUtils.ordinalIndexOf("", "", *) = 0StringUtils.ordinalIndexOf("aabaabaa", "a", 1) = 0StringUtils.ordinalIndexOf("aabaabaa", "a", 2) = 1StringUtils.ordinalIndexOf("aabaabaa", "b", 1) = 2StringUtils.ordinalIndexOf("aabaabaa", "b", 2) = 5StringUtils.ordinalIndexOf("aabaabaa", "ab", 1) = 1StringUtils.ordinalIndexOf("aabaabaa", "ab", 2) = 4StringUtils.ordinalIndexOf("aabaabaa", "", 1) = 0StringUtils.ordinalIndexOf("aabaabaa", "", 2) = 0

lastIndexOf

public static int lastIndexOf(CharSequence seq, int searchChar)

字符串最后一次出現(xiàn)的位置

StringUtils.lastIndexOf(null, *) = -1StringUtils.lastIndexOf("", *) = -1StringUtils.lastIndexOf("aabaabaa", 'a') = 7StringUtils.lastIndexOf("aabaabaa", 'b') = 5

lastOrdinalIndexOf

public static int lastOrdinalIndexOf(CharSequence str, CharSequence searchStr, int ordinal)

字符串searchStr在str里面出現(xiàn)倒數(shù)第ordinal出現(xiàn)的位置

StringUtils.lastOrdinalIndexOf(null, *, *) = -1StringUtils.lastOrdinalIndexOf(*, null, *) = -1StringUtils.lastOrdinalIndexOf("", "", *) = 0StringUtils.lastOrdinalIndexOf("aabaabaa", "a", 1) = 7StringUtils.lastOrdinalIndexOf("aabaabaa", "a", 2) = 6StringUtils.lastOrdinalIndexOf("aabaabaa", "b", 1) = 5StringUtils.lastOrdinalIndexOf("aabaabaa", "b", 2) = 2StringUtils.lastOrdinalIndexOf("aabaabaa", "ab", 1) = 4StringUtils.lastOrdinalIndexOf("aabaabaa", "ab", 2) = 1StringUtils.lastOrdinalIndexOf("aabaabaa", "", 1) = 8StringUtils.lastOrdinalIndexOf("aabaabaa", "", 2) = 8

contains

public static boolean contains(CharSequence seq, int searchChar)

字符串seq是否包含searchChar

StringUtils.contains(null, *) = falseStringUtils.contains("", *) = falseStringUtils.contains("abc", 'a') = trueStringUtils.contains("abc", 'z') = false

containsAny

public static boolean containsAny(CharSequence cs, char... searchChars)

包含后面數(shù)組中的任意對(duì)象,返回true

StringUtils.containsAny(null, *) = falseStringUtils.containsAny("", *) = falseStringUtils.containsAny(*, null) = falseStringUtils.containsAny(*, []) = falseStringUtils.containsAny("zzabyycdxx",['z','a']) = trueStringUtils.containsAny("zzabyycdxx",['b','y']) = trueStringUtils.containsAny("aba", ['z']) = false

substring

public static String substring(String str, int start)

字符串截取

StringUtils.substring(null, *) = nullStringUtils.substring("", *) = ""StringUtils.substring("abc", 0) = "abc"StringUtils.substring("abc", 2) = "c"StringUtils.substring("abc", 4) = ""StringUtils.substring("abc", -2) = "bc"StringUtils.substring("abc", -4) = "abc"

left right mid

public static String left(String str, int len) public static String right(String str, int len) public static String mid(String str, int pos, int len)

這三個(gè)方法類似都是截取字符串

split

public static String[] split(String str, String separatorChars)

字符串分割

StringUtils.split(null, *) = nullStringUtils.split("", *) = []StringUtils.split("abc def", null) = ["abc", "def"]StringUtils.split("abc def", " ") = ["abc", "def"]StringUtils.split("abc def", " ") = ["abc", "def"]StringUtils.split("ab:cd:ef", ":") = ["ab", "cd", "ef"]

join

public static <T> String join(T... elements)

字符串連接

StringUtils.join(null) = nullStringUtils.join([]) = ""StringUtils.join([null]) = ""StringUtils.join(["a", "b", "c"]) = "abc"StringUtils.join([null, "", "a"]) = "a"

join

public static String join(Object[] array, char separator)

特定字符串連接數(shù)組,很多情況下還是蠻實(shí)用,不用自己取拼字符串

StringUtils.join(null, *) = nullStringUtils.join([], *) = ""StringUtils.join([null], *) = ""StringUtils.join(["a", "b", "c"], ';') = "a;b;c"StringUtils.join(["a", "b", "c"], null) = "abc"StringUtils.join([null, "", "a"], ';') = ";;a"

deleteWhitespace

public static String deleteWhitespace(String str)

刪除空格

StringUtils.deleteWhitespace(null) = nullStringUtils.deleteWhitespace("") = ""StringUtils.deleteWhitespace("abc") = "abc"StringUtils.deleteWhitespace(" ab c ") = "abc"

removeStart

public static String removeStart(String str, String remove)

刪除以特定字符串開頭的字符串,如果沒有的話,就不刪除。

StringUtils.removeStart(null, *) = nullStringUtils.removeStart("", *) = ""StringUtils.removeStart(*, null) = *StringUtils.removeStart("www.domain.com", "www.") = "domain.com"StringUtils.removeStart("domain.com", "www.") = "domain.com"StringUtils.removeStart("www.domain.com", "domain") = "www.domain.com"StringUtils.removeStart("abc", "") = "abc"

rightPad

public static String rightPad(String str, int size, char padChar)

生成訂單號(hào),的時(shí)候還是很實(shí)用的。右邊自動(dòng)補(bǔ)齊。

StringUtils.rightPad(null, *, *) = nullStringUtils.rightPad("", 3, 'z') = "zzz"StringUtils.rightPad("bat", 3, 'z') = "bat"StringUtils.rightPad("bat", 5, 'z') = "batzz"StringUtils.rightPad("bat", 1, 'z') = "bat"StringUtils.rightPad("bat", -1, 'z') = "bat"

leftPad

public static String leftPad(String str, int size, char padChar)

左邊自動(dòng)補(bǔ)齊

StringUtils.leftPad(null, *, *) = nullStringUtils.leftPad("", 3, 'z') = "zzz"StringUtils.leftPad("bat", 3, 'z') = "bat"StringUtils.leftPad("bat", 5, 'z') = "zzbat"StringUtils.leftPad("bat", 1, 'z') = "bat"StringUtils.leftPad("bat", -1, 'z') = "bat"

center

public static String center(String str, int size)

將字符在某特定長度下,句子

StringUtils.center(null, *) = nullStringUtils.center("", 4) = " "StringUtils.center("ab", -1) = "ab"StringUtils.center("ab", 4) = " ab "StringUtils.center("abcd", 2) = "abcd"StringUtils.center("a", 4) = " a "

capitalize

public static String capitalize(String str)

首字母大寫

StringUtils.capitalize(null) = nullStringUtils.capitalize("") = ""StringUtils.capitalize("cat") = "Cat"StringUtils.capitalize("cAt") = "CAt"

swapCase

public static String swapCase(String str)

反向大小寫

StringUtils.swapCase(null) = nullStringUtils.swapCase("") = ""StringUtils.swapCase("The dog has a BONE") = "tHE DOG HAS A bone"

isAlpha

public static boolean isAlpha(CharSequence cs)

判斷字符串是否由字母組成

StringUtils.isAlpha(null) = falseStringUtils.isAlpha("") = falseStringUtils.isAlpha(" ") = falseStringUtils.isAlpha("abc") = trueStringUtils.isAlpha("ab2c") = falseStringUtils.isAlpha("ab-c") = false

defaultString

public static String defaultString(String str, String defaultStr)

默認(rèn)字符串,相當(dāng)于三目運(yùn)算,前面弱為空,則返回后面一個(gè)參數(shù)

StringUtils.defaultString(null, "NULL") = "NULL"StringUtils.defaultString("", "NULL") = ""StringUtils.defaultString("bat", "NULL") = "bat"

reverse

public static String reverse(String str)

字符串翻轉(zhuǎn)

StringUtils.reverse(null) = nullStringUtils.reverse("") = ""StringUtils.reverse("bat") = "tab"

abbreviate

public static String abbreviate(String str, int maxWidth)

縮略字符串, 省略號(hào)要占三位。maxWith小于3位會(huì)報(bào)錯(cuò)。

StringUtils.abbreviate(null, *) = nullStringUtils.abbreviate("", 4) = ""StringUtils.abbreviate("abcdefg", 6) = "abc..."StringUtils.abbreviate("abcdefg", 7) = "abcdefg"StringUtils.abbreviate("abcdefg", 8) = "abcdefg"StringUtils.abbreviate("abcdefg", 4) = "a..."StringUtils.abbreviate("abcdefg", 3) = IllegalArgumentException public static String abbreviate(String str, int offset, int maxWidth)

縮略字符串的一些高級(jí)用法

StringUtils.abbreviate(null, *, *) = nullStringUtils.abbreviate("", 0, 4) = ""StringUtils.abbreviate("abcdefghijklmno", -1, 10) = "abcdefg..."StringUtils.abbreviate("abcdefghijklmno", 0, 10) = "abcdefg..."StringUtils.abbreviate("abcdefghijklmno", 1, 10) = "abcdefg..."StringUtils.abbreviate("abcdefghijklmno", 4, 10) = "abcdefg..."StringUtils.abbreviate("abcdefghijklmno", 5, 10) = "...fghi..."StringUtils.abbreviate("abcdefghijklmno", 6, 10) = "...ghij..."StringUtils.abbreviate("abcdefghijklmno", 8, 10) = "...ijklmno"StringUtils.abbreviate("abcdefghijklmno", 10, 10) = "...ijklmno"StringUtils.abbreviate("abcdefghijklmno", 12, 10) = "...ijklmno"StringUtils.abbreviate("abcdefghij", 0, 3) = IllegalArgumentExceptionStringUtils.abbreviate("abcdefghij", 5, 6) = IllegalArgumentException

warp

public static String wrap(String str, char wrapWith)

包裝,用后面的字符串對(duì)前面的字符串進(jìn)行包裝

StringUtils.wrap(null, *) = nullStringUtils.wrap("", *) = ""StringUtils.wrap("ab", '\0') = "ab"StringUtils.wrap("ab", 'x') = "xabx"StringUtils.wrap("ab", '\'') = "'ab'"StringUtils.wrap("\"ab\"", '\"') = "\"\"ab\"\""

轉(zhuǎn)載于:https://my.oschina.net/tensai/blog/3012993

總結(jié)

以上是生活随笔為你收集整理的CommonLang3中的StringUtils最全解析的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。