工具类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 *** 使用实例