apache Commons commons-lang StringUtils.java

StringUtils中方法的操作对象是java.lang.String类型的对象,是JDK提供的String类型操作方法的补充,并且是null安全的(即如果输入参数String为null则不会抛出NullPointerException,而是做了相应处理,例如,如果输入为null则返回也是null等,具体可以查看源代码)。

除了构造器,StringUtils中一共有130多个方法,并且都是static的,
所以我们可以这样调用StringUtils.xxx()。

下面分别对一些常用方法做简要介绍:

1. public static boolean isEmpty(String str)
判断某字符串是否为空,为空的标准是str == null 或 str.length() == 0
下面是示例:
StringUtils.isEmpty(null)          = true
StringUtils.isEmpty("")       = true
StringUtils.isEmpty(" ")      = false
StringUtils.isEmpty("        ")     = false
StringUtils.isEmpty("bob")       = false
StringUtils.isEmpty(" bob ") = false

2. public static boolean isNotEmpty(String str)
判断某字符串是否非空,等于!isEmpty(String str)
下面是示例:
StringUtils.isNotEmpty(null)        = false
StringUtils.isNotEmpty("")           = false
StringUtils.isNotEmpty(" ")      = true
StringUtils.isNotEmpty("         ")    = true
StringUtils.isNotEmpty("bob")   = true
StringUtils.isNotEmpty(" bob ")   = true

3. public static boolean isBlank(String str)
判断某字符串是否为空或长度为0或由空白符(whitespace)构成
下面是示例:
StringUtils.isBlank(null)         = true
StringUtils.isBlank("")            = true
StringUtils.isBlank(" ")                 = true
StringUtils.isBlank("        ")          = true
StringUtils.isBlank("\t \n \f \r")    = true
StringUtils.isBlank("\b")               = false
StringUtils.isBlank("bob")            = false
StringUtils.isBlank(" bob ")        = false

4. public static boolean isNotBlank(String str)
判断某字符串是否不为空且长度不为0且不由空白符(whitespace)构成,
等于!isBlank(String str)
下面是示例:
StringUtils.isNotBlank(null)        = false
StringUtils.isNotBlank("")               = false
StringUtils.isNotBlank(" ")          = false
StringUtils.isNotBlank("         ")        = false
StringUtils.isNotBlank("\t \n \f \r")     = false
StringUtils.isNotBlank("\b")              = true
StringUtils.isNotBlank("bob")           = true
StringUtils.isNotBlank(" bob ")   = true

5. public static String trim(String str)
去掉字符串两端的控制符(control characters, char <= 32)
如果输入为null则返回null
下面是示例:
StringUtils.trim(null)                = null
StringUtils.trim("")                 = ""
StringUtils.trim(" ")                          = ""
StringUtils.trim("     \b \t \n \f \r    ") = ""
StringUtils.trim("     \n\tss   \b")        = "ss"
StringUtils.trim(" d   d dd     ")     = "d   d dd"
StringUtils.trim("dd     ")            = "dd"
StringUtils.trim("     dd       ")           = "dd"

6.public static String trimToNull(String str)
去掉字符串两端的控制符(control characters, char <= 32)
如果变为null或"",则返回null
下面是示例:
StringUtils.trimToNull(null)                = null
StringUtils.trimToNull("")                           = null
StringUtils.trimToNull(" ")                          = null
StringUtils.trimToNull("     \b \t \n \f \r    ") = null
StringUtils.trimToNull("     \n\tss   \b")     = "ss"
StringUtils.trimToNull(" d   d dd     ")        = "d   d dd"
StringUtils.trimToNull("dd     ")           = "dd"
StringUtils.trimToNull("     dd       ")          = "dd"

7.public static String trimToEmpty(String str)
去掉字符串两端的控制符(control characters, char <= 32)
如果变为null或"",则返回""
下面是示例:
StringUtils.trimToEmpty(null)                    = ""
StringUtils.trimToEmpty("")                   = ""
StringUtils.trimToEmpty(" ")                          = ""
StringUtils.trimToEmpty("     \b \t \n \f \r    ") = ""
StringUtils.trimToEmpty("     \n\tss   \b")     = "ss"
StringUtils.trimToEmpty(" d   d dd     ")      = "d   d dd"
StringUtils.trimToEmpty("dd     ")             = "dd"
StringUtils.trimToEmpty("     dd       ")          = "dd"

8.public static String strip(String str)
去掉字符串两端的空白符(whitespace),
如果输入为null则返回null
下面是示例(注意和trim()的区别):
StringUtils.strip(null)                    = null
StringUtils.strip("")                   = ""
StringUtils.strip(" ")                  = ""
StringUtils.strip("     \b \t \n \f \r    ")        = "\b"
StringUtils.strip("     \n\tss   \b")             = "ss   \b"
StringUtils.strip(" d   d dd     ")      = "d   d dd"
StringUtils.strip("dd     ")             = "dd"
StringUtils.strip("     dd       ")          = "dd"

9.public static String stripToNull(String str)
去掉字符串两端的空白符(whitespace),
如果变为null或"",则返回null
下面是示例(注意和trimToNull()的区别):
StringUtils.stripToNull(null)                   = null
StringUtils.stripToNull("")                    = null
StringUtils.stripToNull(" ")                 = null
StringUtils.stripToNull("     \b \t \n \f \r    ") = "\b"
StringUtils.stripToNull("     \n\tss   \b")       = "ss   \b"
StringUtils.stripToNull(" d   d dd     ")       = "d   d dd"
StringUtils.stripToNull("dd     ")                 = "dd"
StringUtils.stripToNull("     dd       ")          = "dd"

10.public static String stripToEmpty(String str)
去掉字符串两端的空白符(whitespace),
如果变为null或"",则返回""
下面是示例(注意和trimToEmpty()的区别):
StringUtils.stripToNull(null)                  = ""
StringUtils.stripToNull("")                   = ""
StringUtils.stripToNull(" ")                  = ""
StringUtils.stripToNull("     \b \t \n \f \r    ")   = "\b"
StringUtils.stripToNull("     \n\tss   \b")     = "ss   \b"
StringUtils.stripToNull(" d   d dd     ")     = "d   d dd"
StringUtils.stripToNull("dd     ")                 = "dd"
StringUtils.stripToNull("     dd       ")           = "dd"
11.public static boolean contains(String str, char searchChar)
判断字符串str中是否包含字符searchChar。
如果str为null或"",返回false;
如果searchChar不在str中,返回false。

12.public static boolean contains(String str, String searchStr)
判断字符串str是否包含字符串searchStr。
如果str为null或searchStr为null,返回false;
如果str为"",并且searchStr为"",返回true
举例:
StringUtils.contains("", "")       = true
StringUtils.contains("dfg", "")    = true
StringUtils.contains("dfg", "d")   = true
StringUtils.contains("dfg", "gz") = false

13.public static boolean containsIgnoreCase(String str, String searchStr)
判断字符串str是否包含字符串searchStr,不区分大小写。
和12类似。

14.public static int indexOfAny(String str, char[] searchChars)
找出字符数组searchChars中的字符第一次出现在字符串str中的位置。
如果字符数组中的字符都不在字符串中,则返回-1
如果字符串为null或"",则返回-1
举例(*表示任意):
StringUtils.indexOfAny(null, *)                 = -1
StringUtils.indexOfAny("", *)                   = -1
StringUtils.indexOfAny(*, [])                   = -1
StringUtils.indexOfAny("asdf", ['a','f',' '])   = 0
StringUtils.indexOfAny("bs df", ['a','f',' ']) = 2
StringUtils.indexOfAny("bsdf", ['a','f',' '])   = 3
StringUtils.indexOfAny("bbeegg", ['a','f',' ']) = -1

15.public static int indexOfAny(String str, String searchChars)
找出字符串searchChars中的字符第一次出现在字符串str中的位置。
如果字符串searchChars中的字符都不在字符串str中,则返回-1
如果searchChars或str为null或为"",则返回-1
举例(*表示任意):
StringUtils.indexOfAny(null, *)         = -1
StringUtils.indexOfAny("", *)           = -1
StringUtils.indexOfAny(*, null)         = -1
StringUtils.indexOfAny(*, "")           = -1
StringUtils.indexOfAny("asdf", "af ")   = 0
StringUtils.indexOfAny("bs df", "af ") = 2
StringUtils.indexOfAny("bsdf", "af ")   = 3
StringUtils.indexOfAny("bbeegg", "af ") = -1

16.public static int indexOfAnyBut(String str, char[] searchChars)
找出字符串str中不在字符数组searchChars中的第一个字符的位置。
如果字符串中的所有字符都在字符数组中,则返回-1
如果字符串为null或"",则返回-1
举例(*表示任意):
StringUtils.indexOfAnyBut(null, *)                 = -1
StringUtils.indexOfAnyBut("", *)                   = -1
StringUtils.indexOfAnyBut(*, [])                   = -1
StringUtils.indexOfAnyBut("asdf", ['a','f',' '])   = 1
StringUtils.indexOfAnyBut("bs df", ['a','f',' ']) = 0
StringUtils.indexOfAnyBut(" aaf", ['a','f',' '])   = -1
StringUtils.indexOfAnyBut("bbeegg", ['a','f',' ']) = 0

17.public static int indexOfAnyBut(String str, String searchChars)
找出字符串str中不在字符串searchChars中的第一个字符的位置。
如果字符串str中的所有字符都在字符串searchChars中,则返回-1
如果字符串str或searchChars为null或"",则返回-1
举例(*表示任意):
StringUtils.indexOfAnyBut(null, *)         = -1
StringUtils.indexOfAnyBut("", *)           = -1
StringUtils.indexOfAnyBut(*, null)         = -1
StringUtils.indexOfAnyBut(*, "")           = -1
StringUtils.indexOfAnyBut("asdf", "af ")   = 1
StringUtils.indexOfAnyBut("bs df", "af ") = 0
StringUtils.indexOfAnyBut(" aaf", "af ")   = -1
StringUtils.indexOfAnyBut("bbeegg", "af ") = 0

18.public static boolean containsOnly(String str, char[] valid)
判断是否字符串str仅包含字符数组valid中的字符,即字符串中的字符是否都在字符数组中。
如果str为null,则返回false;如果str为"",则返回true
举例(*表示任意):
StringUtils.containsOnly(null, *))              = false
StringUtils.containsOnly("", *))                = true
StringUtils.containsOnly("afaf", ['a','f',' ']))= true
StringUtils.containsOnly("af a", ['a','f',' ']))= true
StringUtils.containsOnly("a", ['a','f',' ']))   = true
StringUtils.containsOnly("afg", ['a','f',' '])) = false
StringUtils.containsOnly("bbeegg", []))         = false

19.public static boolean containsOnly(String str, String validChars)
判断是否字符串str仅包含字符串validChars中的字符,
即字符串str中的字符是否都在字符串validChars中。
和18类似,举例(*表示任意):
StringUtils.containsOnly(null, *)       = false
StringUtils.containsOnly(*, null)       = false
StringUtils.containsOnly("", "")        = true
StringUtils.containsOnly("", "a")       = true
StringUtils.containsOnly("afaf", "af ") = true
StringUtils.containsOnly("af a", "af ") = true
StringUtils.containsOnly("afg", "af ") = false
StringUtils.containsOnly("afg", "")     = false

20.public static boolean containsNone(String str, char[] invalidChars)
判断是否字符串str不包含字符数组invalidChars中的字符,如果含有则返回false。
举例(*表示任意):
StringUtils.containsNone(null, *)               = true
StringUtils.containsNone(*, [])                 = true
StringUtils.containsNone("", *)                 = true
StringUtils.containsNone("ab", [])              = true
StringUtils.containsNone("b", ['a','f',' '])    = true
StringUtils.containsNone("bcd", ['a','f',' ']) = true
StringUtils.containsNone("abc", ['a','f',' ']) = false
StringUtils.containsNone(" ", ['a','f',' '])    = false

21.public static boolean containsNone(String str, String invalidChars)
判断是否字符串str不包含字符串invalidChars中的字符,如果含有则返回false。
举例(*表示任意):
StringUtils.containsNone(null, *)       = true
StringUtils.containsNone(*, null)       = true
StringUtils.containsNone("", *)         = true
StringUtils.containsNone("ab", "")      = true
StringUtils.containsNone("b", "af ")    = true
StringUtils.containsNone("bcd", "af ") = true
StringUtils.containsNone("abc", "af ") = false
StringUtils.containsNone(" ", "af ")    = false

你可能感兴趣的:(java)