JavaEE日常工作经验总结系列(九)-----Apache之StringUtils类的使用(一)

码农不识Apache,码尽一生也枉然。

判空isEmpty(final CharSequence cs)

isEmpty(final CharSequence cs)检查输入的字符是否为空字符串 “” 或者 null,示例如下:

boolean empty = StringUtils.isEmpty(null); // true
boolean empty2 = StringUtils.isEmpty(""); // true
boolean empty3 = StringUtils.isEmpty(" "); // false
boolean empty4 = StringUtils.isEmpty("hello"); // false
boolean empty5 = StringUtils.isEmpty("    hello    "); // false

isNotEmpty(final CharSequence cs)检查输入的字符串不是空字符串”“或者不为null,用法与isEmpty相反

boolean notEmpty = StringUtils.isNotEmpty(null);// false
boolean notEmpty2 = StringUtils.isNotEmpty(""); // false
boolean notEmpty3 = StringUtils.isNotEmpty(" "); // true
boolean notEmpty4 = StringUtils.isNotEmpty("hello"); // true
boolean notEmpty5 = StringUtils.isNotEmpty("   hello   "); // true

isAnyEmpty(final CharSequence... css)判断是否包含空字符串或者null

boolean anyEmpty = StringUtils.isAnyEmpty(null); // true
boolean anyEmpty2 = StringUtils.isAnyEmpty(null,"hello"); // true
boolean anyEmpty3 = StringUtils.isAnyEmpty("","hello"); // true
boolean anyEmpty4 = StringUtils.isAnyEmpty("hello",""); // true
boolean anyEmpty5 = StringUtils.isAnyEmpty(" hello  ",null); // true
boolean anyEmpty6 = StringUtils.isAnyEmpty(" ","hello"); // false
boolean anyEmpty7 = StringUtils.isAnyEmpty("hello","word"); // false
boolean anyEmpty8 = StringUtils.isAnyEmpty(new String[]{}); // false
boolean anyEmpty9 = StringUtils.isAnyEmpty(new String[]{""}); // true

isNoneEmpty(final CharSequence... css)判断不包含空字符串或者null,用法与isAnyEmpty相反

boolean noneEmpty = StringUtils.isNoneEmpty(null); // false
boolean noneEmpty2 = StringUtils.isNoneEmpty(null,"hello"); // false
boolean noneEmpty3 = StringUtils.isNoneEmpty("","hello"); // false
boolean noneEmpty4 = StringUtils.isNoneEmpty("hello",""); // false
boolean noneEmpty5 = StringUtils.isNoneEmpty(" hello  ",null); // false
boolean noneEmpty6 = StringUtils.isNoneEmpty(" ","hello"); // true
boolean noneEmpty7 = StringUtils.isNoneEmpty("hello","word"); // true
boolean noneEmpty8 = StringUtils.isNoneEmpty(new String[]{}); // true
boolean noneEmpty9 = StringUtils.isNoneEmpty(new String[]{""}); // false

isAllEmpty(final CharSequence... css)判断输入是否全是空字符串或者mull

boolean allEmpty = StringUtils.isAllEmpty(null);             // true
boolean allEmpty2 = StringUtils.isAllEmpty(null, "");         // true
boolean allEmpty3 = StringUtils.isAllEmpty(new String[] {});  // true
boolean allEmpty4 = StringUtils.isAllEmpty(null, "hello");      // false
boolean allEmpty5 = StringUtils.isAllEmpty("", "hello");        // false
boolean allEmpty6 = StringUtils.isAllEmpty("hello", "");        // false
boolean allEmpty7 = StringUtils.isAllEmpty("  hello  ", null);  // false
boolean allEmpty8 = StringUtils.isAllEmpty(" ", "hello");       // false
boolean allEmpty9 = StringUtils.isAllEmpty("hello", "word");     // false

isBlank(final CharSequence cs)判断字符序列是空字符串”“或者为null,或者去除空格后的”“

boolean blank = StringUtils.isBlank(null);      // true
boolean blank2 = StringUtils.isBlank("");        // true
boolean blank3 = StringUtils.isBlank(" ");       // true
boolean blank4 = StringUtils.isBlank("hello");     // false
boolean blank5 = StringUtils.isBlank("  hello  "); // false

isNotBlank(final CharSequence cs)判断字符序列不是空字符串”“或者null或者去除空格的”“,用法与isBlank相反

boolean notBlank = StringUtils.isNotBlank(null);      // false
boolean notBlank2 = StringUtils.isNotBlank("");        // false
boolean notBlank3 = StringUtils.isNotBlank(" ");       // false
boolean notBlank4 = StringUtils.isNotBlank("hello");     // true
boolean notBlank5 = StringUtils.isNotBlank("  hello  "); // true
  • isAnyBlank(final CharSequence... css)判断输入的字符序列是否存在空字符串,使用方法和isAnyEmpty相似,只是去除空格
  • isNoneBlank(final CharSequence... css)判断输入的字符序列不存在空字符串,用法和isNoneEmpty相似
  • isAllBlank(final CharSequence... css)用法和isAllEmpty相似

字符串去除空格trim(final String str)

trim(final String str)去除输入字符串的空格

String trim = StringUtils.trim(null); // null
String trim2 = StringUtils.trim(""); // ""
String trim3 = StringUtils.trim("  "); // ""
String trim4 = StringUtils.trim("hello"); // "hello"
String trim5 = StringUtils.trim("   hello    "); // "hello"

trimToNull(final String str)输入的字符串如果是空字符串或者去除空格后仍是空字符串,将返回null

String trimToNull = StringUtils.trimToNull(null);          // null
String trimToNull2 = StringUtils.trimToNull("");            // null
String trimToNull3 = StringUtils.trimToNull("     ");       // null
String trimToNull4 = StringUtils.trimToNull("hello");         // "hello"
String trimToNull5 = StringUtils.trimToNull("    hello    ");  // "hello"

trimToEmpty(final String str)用法和trimToNull相似,返回的是空字符串”“

String trimToEmpty = StringUtils.trimToEmpty(null);          // ""
String trimToEmpty2 = StringUtils.trimToEmpty("");            // ""
String trimToEmpty3 = StringUtils.trimToEmpty("     ");       // ""
String trimToEmpty4 = StringUtils.trimToEmpty("hello");         // "hello"
String trimToEmpty5 = StringUtils.trimToEmpty("    hello    "); // "hello"

字符串的截取truncate(final String str, final int maxWidth)

truncate(final String str, final int maxWidth)截取字符串,最大长度必须是正数,否则就会报异常

  • str的长度小于maxWidth时将直接返回str
  • 如果maxWidth小于0将会报错IllegalArgumentException
  • 在任何情况下都不可能返回一个比maxWidth长度大的字符串
String truncate = StringUtils.truncate(null, 0);       // null
String truncate2 = StringUtils.truncate(null, 2);       // null
String truncate3 = StringUtils.truncate("", 4);         // ""
String truncate4 = StringUtils.truncate("abcdefg", 4);  // "abcd"
String truncate5 = StringUtils.truncate("abcdefg", 6);  // "abcdef"
String truncate6 = StringUtils.truncate("abcdefg", 7);  // "abcdefg"
String truncate7 = StringUtils.truncate("abcdefg", 8);  // "abcdefg"
String truncate8 = StringUtils.truncate("abcdefg", -1); // throws an IllegalArgumentException

truncate(final String str, final int offset, final int maxWidth)输入开始和结束位置截取字符串

  • str的长度小于maxWidth时将直接返回str
  • 如果maxWidth小于0将会报错IllegalArgumentException
  • 如果offset小于0将会报错IllegalArgumentException
  • 在任何情况下都不可能返回一个比maxWidth长度大的字符串
StringUtils.truncate(null, 0, 0); // null
StringUtils.truncate(null, 2, 4); // null
StringUtils.truncate("", 0, 10); // ""
StringUtils.truncate("", 2, 10); // ""
StringUtils.truncate("abcdefghij", 0, 3); // "abc"
StringUtils.truncate("abcdefghij", 5, 6); // "fghij"
StringUtils.truncate("raspberry peach", 10, 15); // "peach"
StringUtils.truncate("abcdefghijklmno", 0, 10); // "abcdefghij"
StringUtils.truncate("abcdefghijklmno", -1, 10); // throws an IllegalArgumentException
StringUtils.truncate("abcdefghijklmno", Integer.MIN_VALUE, 10); // "abcdefghij"
StringUtils.truncate("abcdefghijklmno", Integer.MIN_VALUE, Integer.MAX_VALUE); // "abcdefghijklmno"
StringUtils.truncate("abcdefghijklmno", 0, Integer.MAX_VALUE); // "abcdefghijklmno"
StringUtils.truncate("abcdefghijklmno", 1, 10); // "bcdefghijk"
StringUtils.truncate("abcdefghijklmno", 2, 10); // "cdefghijkl"
StringUtils.truncate("abcdefghijklmno", 3, 10); // "defghijklm"
StringUtils.truncate("abcdefghijklmno", 4, 10); // "efghijklmn"
StringUtils.truncate("abcdefghijklmno", 5, 10); // "fghijklmno"
StringUtils.truncate("abcdefghijklmno", 5, 5); // "fghij"
StringUtils.truncate("abcdefghijklmno", 5, 3); // "fgh"
StringUtils.truncate("abcdefghijklmno", 10, 3); // "klm"
StringUtils.truncate("abcdefghijklmno", 10, Integer.MAX_VALUE); // "klmno"
StringUtils.truncate("abcdefghijklmno", 13, 1); // "n"
StringUtils.truncate("abcdefghijklmno", 13, Integer.MAX_VALUE); // "no"
StringUtils.truncate("abcdefghijklmno", 14, 1); // "o"
StringUtils.truncate("abcdefghijklmno", 14, Integer.MAX_VALUE); // "o"
StringUtils.truncate("abcdefghijklmno", 15, 1); // ""
StringUtils.truncate("abcdefghijklmno", 15, Integer.MAX_VALUE); // ""
StringUtils.truncate("abcdefghijklmno", Integer.MAX_VALUE, Integer.MAX_VALUE); // ""
StringUtils.truncate("abcdefghij", 3, -1); // throws an IllegalArgumentException
StringUtils.truncate("abcdefghij", -2, 4); // throws an IllegalArgumentException

去除字符串前后空格strip(final String str)

strip(final String str)去除字符串的开头和结尾的空格

String strip = StringUtils.strip(null);     // null
String strip2 = StringUtils.strip("");       // ""
String strip3 = StringUtils.strip("   ");    // ""
String strip4 = StringUtils.strip("abc");    // "abc"
String strip5 = StringUtils.strip("  abc");  // "abc"
String strip6 = StringUtils.strip("abc  ");  // "abc"
String strip7 = StringUtils.strip(" abc ");  // "abc"
String strip8 = StringUtils.strip(" ab c "); // "ab c"

stripToNull(String str)用法可以参考trimToNull,就是去除开始和结尾后空格还是空字符串就返回null

stripToEmpty(final String str)用法可以参考trimToEmpty,就是去除开始和结尾后空格还是空字符串就返回”“

strip(String str, final String stripChars)在str字符串的开始和结尾截取指定字符串,示例如下:

String strip9 = StringUtils.strip(null, "*");          // null
String strip10 = StringUtils.strip("", "*");            // ""
String strip11 = StringUtils.strip("abc", null);      // "abc"
String strip12 = StringUtils.strip("  abc", null);    // "abc"
String strip13 = StringUtils.strip("abc  ", null);    // "abc"
String strip14 = StringUtils.strip(" abc ", null);    // "abc"
String strip15 = StringUtils.strip("  abcyx", "xyz"); // "  abc"

stripStart(final String str, final String stripChars)从str的开始删除指定的一组字符,示例如下:

StringUtils.stripStart(null, "*");          // null
StringUtils.stripStart("", "*");            // ""
StringUtils.stripStart("abc", "");        // "abc"
StringUtils.stripStart("abc", null);      // "abc"
StringUtils.stripStart("  abc", null);    // "abc"
StringUtils.stripStart("abc  ", null);    // "abc  "
StringUtils.stripStart(" abc ", null);    // "abc "
StringUtils.stripStart("yxabc  ", "xyz"); // "abc  "

stripEnd(final String str, final String stripChars)从str的结束去除指定字符串,用法和stripStart相似

数组中的每个元素开始和结尾删除空格

String[] stripAll(final String... strs)从数组中每个字符串的开头和结尾删除空格

  • 每次都会返回一个新的数组,数组可以为空
  • 如果传入的时null,将会返回null
  • 传入空数组将会返回其本省
String test[] = {"abc","   abc"};
String test1[] = {};
String test2[] = {"abc",null};
StringUtils.stripAll(null);             // null
String[] stripAll = StringUtils.stripAll(test1);               // []
String[] stripAll2 = StringUtils.stripAll(test); // ["abc", "abc"]
String[] stripAll3 = StringUtils.stripAll(test2);  // ["abc", null]

stripAll(final String[] strs, final String stripChars)用法和上述类似,就是在开始和结尾截取指定字符串

字符串比较equals

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
StringUtils.equals("abc", new String("abc")); // true

equalsIgnoreCase(final CharSequence str1, final CharSequence str2)忽略大小写后比较两个字符串,用法和equals一样

猜你喜欢

转载自blog.csdn.net/qq_27922023/article/details/80930746