工具類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
isNotEmpty方法判斷邏輯
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
isNotBlank方法判斷邏輯
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
overlay方法使用實例
小功能:對用戶的身份證號碼年月日脫敏?
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
replace方法使用實例
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
replaceOnce方法使用實例