工具类commons-lang3有很多好用的工具类,今天分享一下StringUtils中常用的方法,来提升我们的开发效率!
添加依赖
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.8.1</version>
</dependency>
isNotEmpty 非空判断
StringUtils.isNotEmpty(str),用于字符串的非空判断方法。
使用示例:
System.out.println(StringUtils.isNotEmpty(null)); // false
System.out.println(StringUtils.isNotEmpty("")); // false
System.out.println(StringUtils.isNotEmpty(" ")); // true
System.out.println(StringUtils.isNotEmpty("TnT")); // true
System.out.println(StringUtils.isNotEmpty(" TnT ")); // true
String str ="";
// 淘汰
if (str != null && str != "") {
}
// 推荐
if (StringUtils.isNotEmpty(str)) {
}
isNotBlank 非空判断
StringUtils.isNotBlank(str),用于字符串的非空判断方法。
- isNotBlank对于空格和空字符串都是为false。
- 而isNotEmpty对于空格为true,空字符串为false。
使用示例:
System.out.println(StringUtils.isNotBlank(null)); // false
System.out.println(StringUtils.isNotBlank("")); // false
System.out.println(StringUtils.isNotBlank(" ")); // false
System.out.println(StringUtils.isNotBlank("TnT")); // true
System.out.println(StringUtils.isNotBlank(" TnT ")); // true
overlay 覆盖
StringUtils.overlay(str, overlay, start, end),使用overlay内容覆盖str。
从0开始,位置从【start,end)左闭右开
使用示例:
// 用overlay覆盖str,从start开始end-1结束的字符。
System.out.println(StringUtils.overlay(null, null, 0, 0)); // null
System.out.println(StringUtils.overlay("", "abc", 0, 0)); // abc
System.out.println(StringUtils.overlay("abcdef", null, 2, 4)); // abef
System.out.println(StringUtils.overlay("abcdef", "", 2, 4)); // abef
System.out.println(StringUtils.overlay("abcdef", "", 4, 2)); // abef
System.out.println(StringUtils.overlay("abcdef", "", 4, 2)); // abef
System.out.println(StringUtils.overlay("abcdef", "zzzz", 2, 4)); // abzzzzef
System.out.println(StringUtils.overlay("abcdef", "zzzz", 4, 2)); // abzzzzef
System.out.println(StringUtils.overlay("abcdef", "zzzz", -1, 4)); // zzzzef
System.out.println(StringUtils.overlay("abcdef", "zzzz", 2, 8)); // abzzzz
System.out.println(StringUtils.overlay("abcdef", "zzzz", -2, -3)); // zzzzabcdef
System.out.println(StringUtils.overlay("abcdef", "zzzz", 8, 10)); // abcdefzzzz
小功能:对用户的身份证号码年月日脱敏?
System.out.println(StringUtils.overlay("342401200010011234","********",6,14));
// 342401********1234
replace 替换
StringUtils.replace(text, searchString, replacement)。
把text字符串里的searchString字符串,替换为replacement字符串,如果replacement为null,则直接返回text内容。
使用示例:
System.out.println(StringUtils.replace("aba", "a", "")); // b
System.out.println(StringUtils.replace("aba", "a", "z")); // zbz
// 如果replacement为null,则直接返回text内容。
System.out.println(StringUtils.replace(null, null, null)); // null
System.out.println(StringUtils.replace("", null, null)); // ""
System.out.println(StringUtils.replace("any", null, null)); // any
System.out.println(StringUtils.replace("any", null, null)); // any
System.out.println(StringUtils.replace("any", "", null)); // any
System.out.println(StringUtils.replace("aba", "a", null)); // aba
replaceOnce 替换一次
StringUtils.replaceOnce(text, searchString, replacement),
把第一次出现的,在text字符串里的searchString字符串,替换为replacement字符串,如果replacement为null,则直接返回text内容。
使用示例:
System.out.println(StringUtils.replaceOnce("aba", "a", "")); // ba
System.out.println(StringUtils.replaceOnce("aba", "a", "z")); // zba
// 如果replacement为null,则直接返回text内容。
System.out.println(StringUtils.replaceOnce(null, null, null)); // null
System.out.println(StringUtils.replaceOnce("", null, null)); // ""
System.out.println(StringUtils.replaceOnce("any", null, null)); // any
System.out.println(StringUtils.replaceOnce("any", null, null)); // any
System.out.println(StringUtils.replaceOnce("any", "", null)); // any
System.out.println(StringUtils.replaceOnce("aba", "a", null)); // aba