快捷搜索:  汽车  科技

stringutils 常用方法(CommonLang3中的StringUtils最全解析)

stringutils 常用方法(CommonLang3中的StringUtils最全解析)StringUtils.isAnyEmpty(null) = true StringUtils.isAnyEmpty(null "foo") = true StringUtils.isAnyEmpty("" "bar") = true StringUtils.isAnyEmpty("bob" "") = true StringUtils.isAnyEmpty(" bob " null) = true StringUtils.isAnyEmpty(" " "bar") = false StringUtils.isAnyEmpty("foo" "bar") = false public static boolean isNoneEmpty(CharSequence... css)在写一些判断条件的时候,这个方法还是很实用的。StringUtils.isNotEmpty(

平时开发中常用的StringUtils方法汇总:

stringutils 常用方法(CommonLang3中的StringUtils最全解析)(1)

public static boolean isEmpty(charSequence cs)

常用函数之一,判断字符串是否为""或者null

StringUtils.isEmpty(null) = true StringUtils.isEmpty("") = true StringUtils.isEmpty(" ") = false StringUtils.isEmpty("bob") = false StringUtils.isEmpty(" bob ") = false public static boolean isNotEmpty(CharSequence cs)

最常用函数之一,跟上面方法相对

StringUtils.isNotEmpty(null) = false StringUtils.isNotEmpty("") = false StringUtils.isNotEmpty(" ") = true StringUtils.isNotEmpty("bob") = true StringUtils.isNotEmpty(" bob ") = true

public static boolean isAnyEmpty(CharSequence... css)

任意一个参数为空的话,返回true,

如果这些参数都不为空的话返回false。

在写一些判断条件的时候,这个方法还是很实用的。

StringUtils.isAnyEmpty(null) = true StringUtils.isAnyEmpty(null "foo") = true StringUtils.isAnyEmpty("" "bar") = true StringUtils.isAnyEmpty("bob" "") = true StringUtils.isAnyEmpty(" bob " null) = true StringUtils.isAnyEmpty(" " "bar") = false StringUtils.isAnyEmpty("foo" "bar") = false

public static boolean isNoneEmpty(CharSequence... css)

任意一个参数是空,返回false

所有参数都不为空,返回true

注意这些方法的用法

StringUtils.isNoneEmpty(null) = false StringUtils.isNoneEmpty(null "foo") = false StringUtils.isNoneEmpty("" "bar") = false StringUtils.isNoneEmpty("bob" "") = false StringUtils.isNoneEmpty(" bob " null) = false StringUtils.isNoneEmpty(" " "bar") = true StringUtils.isNoneEmpty("foo" "bar") = true public static boolean isBlank(CharSequence cs)

判断字符对象是不是空字符串,注意与isEmpty的区别

StringUtils.isBlank(null) = true StringUtils.isBlank("") = true StringUtils.isBlank(" ") = true StringUtils.isBlank("bob") = false StringUtils.isBlank(" bob ") = false public static boolean isNotBlank(CharSequence cs) StringUtils.isNotBlank(null) = false StringUtils.isNotBlank("") = false StringUtils.isNotBlank(" ") = false StringUtils.isNotBlank("bob") = true StringUtils.isNotBlank(" bob ") = true

原理同上

public static boolean isAnyBlank(CharSequence... css) StringUtils.isAnyBlank(null) = true StringUtils.isAnyBlank(null "foo") = true StringUtils.isAnyBlank(null null) = true StringUtils.isAnyBlank("" "bar") = true StringUtils.isAnyBlank("bob" "") = true StringUtils.isAnyBlank(" bob " null) = true StringUtils.isAnyBlank(" " "bar") = true StringUtils.isAnyBlank("foo" "bar") = false public static boolean isNoneBlank(CharSequence... css) StringUtils.isNoneBlank(null) = false StringUtils.isNoneBlank(null "foo") = false StringUtils.isNoneBlank(null null) = false StringUtils.isNoneBlank("" "bar") = false StringUtils.isNoneBlank("bob" "") = false StringUtils.isNoneBlank(" bob " null) = false StringUtils.isNoneBlank(" " "bar") = false StringUtils.isNoneBlank("foo" "bar") = true public static String trim(String str)

移除字符串两端的空字符串,制表符char <= 32如:\n \t

如果为空的话,返回空

如果为""

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

变体有

public static String trimToNull(String str)

public static String trimToEmpty(String str)

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

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

str:被处理的字符串,可为空

stripChars: 删除的字符串,

StringUtils.strip(null *) = null StringUtils.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" public static boolean equals(CharSequence cs1 CharSequence cs2)

字符串比对方法,是比较实用的方法之一,两个比较的字符串都能为空,不会报空指针异常。

StringUtils.equals(null null) = true StringUtils.equals(null "abc") = false StringUtils.equals("abc" null) = false StringUtils.equals("abc" "abc") = true StringUtils.equals("abc" "ABC") = false public static boolean equalsIgnoreCase(CharSequence str1 CharSequence str2)

上面方法的变体

字符串比较(忽略大小写),在验证码……等字符串比较,真是很实用。

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 public static int indexOf(CharSequence seq int searchChar)

indexOf这个方法不必多说,这个方法主要处理掉了空字符串的问题,不会报空指针,有一定用处

StringUtils.indexOf(null *) = -1 StringUtils.indexOf("" *) = -1 StringUtils.indexOf("aabaabaa" 'a') = 0 StringUtils.indexOf("aabaabaa" 'b') = 2 public static int ordinalIndexOf(CharSequence str CharSequence searchStr int ordinal)

字符串在另外一个字符串里,出现第Ordinal次的位置

StringUtils.ordinalIndexOf(null * *) = -1 StringUtils.ordinalIndexOf(* null *) = -1 StringUtils.ordinalIndexOf("" "" *) = 0 StringUtils.ordinalIndexOf("aabaabaa" "a" 1) = 0 StringUtils.ordinalIndexOf("aabaabaa" "a" 2) = 1 StringUtils.ordinalIndexOf("aabaabaa" "b" 1) = 2 StringUtils.ordinalIndexOf("aabaabaa" "b" 2) = 5 StringUtils.ordinalIndexOf("aabaabaa" "ab" 1) = 1 StringUtils.ordinalIndexOf("aabaabaa" "ab" 2) = 4 StringUtils.ordinalIndexOf("aabaabaa" "" 1) = 0 StringUtils.ordinalIndexOf("aabaabaa" "" 2) = 0 public static int lastIndexOf(CharSequence seq int searchChar)

字符串最后一次出现的位置

StringUtils.lastIndexOf(null *) = -1 StringUtils.lastIndexOf("" *) = -1 StringUtils.lastIndexOf("aabaabaa" 'a') = 7 StringUtils.lastIndexOf("aabaabaa" 'b') = 5 public static int lastOrdinalIndexOf(CharSequence str CharSequence searchStr int ordinal)

字符串searchStr在str里面出现倒数第ordinal出现的位置

StringUtils.lastOrdinalIndexOf(null * *) = -1 StringUtils.lastOrdinalIndexOf(* null *) = -1 StringUtils.lastOrdinalIndexOf("" "" *) = 0 StringUtils.lastOrdinalIndexOf("aabaabaa" "a" 1) = 7 StringUtils.lastOrdinalIndexOf("aabaabaa" "a" 2) = 6 StringUtils.lastOrdinalIndexOf("aabaabaa" "b" 1) = 5 StringUtils.lastOrdinalIndexOf("aabaabaa" "b" 2) = 2 StringUtils.lastOrdinalIndexOf("aabaabaa" "ab" 1) = 4 StringUtils.lastOrdinalIndexOf("aabaabaa" "ab" 2) = 1 StringUtils.lastOrdinalIndexOf("aabaabaa" "" 1) = 8 StringUtils.lastOrdinalIndexOf("aabaabaa" "" 2) = 8 public static boolean contains(CharSequence seq int searchChar)

字符串seq是否包含searchChar

StringUtils.contains(null *) = false StringUtils.contains("" *) = false StringUtils.contains("abc" 'a') = true StringUtils.contains("abc" 'z') = false public static boolean containsAny(CharSequence cs char... searchChars)

包含后面数组中的任意对象,返回true

StringUtils.containsAny(null *) = false StringUtils.containsAny("" *) = false StringUtils.containsAny(* null) = false StringUtils.containsAny(* []) = false StringUtils.containsAny("zzabyycdxx" ['z' 'a']) = true StringUtils.containsAny("zzabyycdxx" ['b' 'y']) = true StringUtils.containsAny("aba" ['z']) = false public static String substring(String str int start)

字符串截取

StringUtils.substring(null *) = null StringUtils.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" 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)

这三个方法类似都是截取字符串

public static String[] split(String str

String separatorChars)

字符串分割

StringUtils.split(null *) = null StringUtils.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"] public static <T> String join(T... elements)

字符串连接

StringUtils.join(null) = null StringUtils.join([]) = "" StringUtils.join([null]) = "" StringUtils.join(["a" "b" "c"]) = "abc" StringUtils.join([null "" "a"]) = "a" public static String join(Object[] array char separator)

特定字符串连接数组,很多情况下还是蛮实用,不用自己取拼字符串

StringUtils.join(null *) = null StringUtils.join([] *) = "" StringUtils.join([null] *) = "" StringUtils.join(["a" "b" "c"] ';') = "a;b;c" StringUtils.join(["a" "b" "c"] null) = "abc" StringUtils.join([null "" "a"] ';') = ";;a" public static String deleteWhitespace(String str)

删除空格

StringUtils.deleteWhitespace(null) = null StringUtils.deleteWhitespace("") = "" StringUtils.deleteWhitespace("abc") = "abc" StringUtils.deleteWhitespace(" ab c ") = "abc" public static String removeStart(String str String remove)

删除以特定字符串开头的字符串,如果没有的话,就不删除。

StringUtils.removeStart(null *) = null StringUtils.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" public static String rightPad(String str int size char padChar)

生成订单号,的时候还是很实用的。右边自动补齐。

StringUtils.rightPad(null * *) = null StringUtils.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" public static String leftPad(String str int size char padChar)

左边自动补齐

StringUtils.leftPad(null * *) = null StringUtils.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" public static String center(String str int size)

将字符在某特定长度下,句子

StringUtils.center(null *) = null StringUtils.center("" 4) = " " StringUtils.center("ab" -1) = "ab" StringUtils.center("ab" 4) = " ab " StringUtils.center("abcd" 2) = "abcd" StringUtils.center("a" 4) = " a " public static String capitalize(String str)

首字母大写

StringUtils.capitalize(null) = null StringUtils.capitalize("") = "" StringUtils.capitalize("cat") = "Cat" StringUtils.capitalize("cAt") = "CAt" public static String swapCase(String str)

反向大小写

StringUtils.swapCase(null) = null StringUtils.swapCase("") = "" StringUtils.swapCase("The dog has a BONE") = "tHE DOG HAS A bone" public static boolean isAlpha(CharSequence cs)

判断字符串是否由字母组成

StringUtils.isAlpha(null) = false StringUtils.isAlpha("") = false StringUtils.isAlpha(" ") = false StringUtils.isAlpha("abc") = true StringUtils.isAlpha("ab2c") = false StringUtils.isAlpha("ab-c") = false public static String defaultString(String str String defaultStr)

默认字符串,相当于三目运算,前面弱为空,则返回后面一个参数

StringUtils.defaultString(null "NULL") = "NULL" StringUtils.defaultString("" "NULL") = "" StringUtils.defaultString("bat" "NULL") = "bat" public static String reverse(String str)

字符串翻转

StringUtils.reverse(null) = null StringUtils.reverse("") = "" StringUtils.reverse("bat") = "tab" public static String abbreviate(String str int maxWidth)

缩略字符串,

省略号要占三位。maxWith小于3位会报错。

StringUtils.abbreviate(null *) = null StringUtils.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)

缩略字符串的一些高级用法

StringUtils.abbreviate(null * *) = null StringUtils.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) = IllegalArgumentException StringUtils.abbreviate("abcdefghij" 5 6) = IllegalArgumentException public static String wrap(String str char wrapWith)

包装,用后面的字符串对前面的字符串进行包装

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

猜您喜欢: