你好呀,我是小邹。
今天跟大家聊一下StringUtils部分API的用法与区别。
“talk is cheap ,show me the code!”
StringUtils.isEmpty()
引入相关依赖
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.12.0</version>
</dependency>
判断是否为空. 但是 " " 空格是会绕过这种空判断,因为是一个空格,并不是严格的空值,会导致 isEmpty(" ")=false
package top.hqxiaozou;
import org.apache.commons.lang3.StringUtils;
/**
* @author: 邹祥发
* @date: 2022/7/4 21:44
*/
public class IsEmpty {
public static void main(String[] args) {
System.out.println("StringUtils.isEmpty(null):" + StringUtils.isEmpty(null));
System.out.println("StringUtils.isEmpty(\"\"):" + StringUtils.isEmpty(""));
System.out.println("StringUtils.isEmpty(\" \"):" + StringUtils.isEmpty(" "));
System.out.println("StringUtils.isEmpty(\"zou\"):" + StringUtils.isEmpty("zou"));
System.out.println("StringUtils.isEmpty(\" zou \"):" + StringUtils.isEmpty(" zou "));
}
}
输出结果:
StringUtils.isAnyEmpty()
是否有一个为空,只有一个为空,就为true。
package top.hqxiaozou;
import org.apache.commons.lang3.StringUtils;
/**
* @author: 邹祥发
* @date: 2022/7/4 22:04
*/
public class isAnyEmpty {
public static void main(String[] args) {
System.out.println("StringUtils.isAnyEmpty(null):" + StringUtils.isAnyEmpty((CharSequence) null));
System.out.println("StringUtils.isAnyEmpty(null, \"zou\") :" + StringUtils.isAnyEmpty(null, "zou"));
System.out.println("StringUtils.isAnyEmpty(\"\", \"zou\") :" + StringUtils.isAnyEmpty("", "zou"));
System.out.println("StringUtils.isAnyEmpty(\"zou\", \"\") :" + StringUtils.isAnyEmpty("zou", ""));
System.out.println("StringUtils.isAnyEmpty(\" zou \", null) :" + StringUtils.isAnyEmpty(" zou ", null));
System.out.println("StringUtils.isAnyEmpty(\" \", \"zou\") :" + StringUtils.isAnyEmpty(" ", "zou"));
System.out.println("StringUtils.isAnyEmpty(\"zou\", \"qiqi\") :" + StringUtils.isAnyEmpty("zou", "qiqi"));
}
}
输出结果:
StringUtils.isNoneEmpty()
相当于!isAnyEmpty(css) , 必须所有的值都不为空才返回true
package top.hqxiaozou;
import org.apache.commons.lang3.StringUtils;
/**
* @author: 邹祥发
* @date: 2022/7/4 22:11
*/
public class IsNoneEmpty {
public static void main(String[] args) {
System.out.println("StringUtils.isNoneEmpty(null):" + StringUtils.isNoneEmpty((CharSequence) null));
System.out.println("StringUtils.isNoneEmpty(null, \"zou\"):" + StringUtils.isNoneEmpty(null, "zou"));
System.out.println("StringUtils.isNoneEmpty(\"\", \"zou\"):" + StringUtils.isNoneEmpty("", "zou"));
System.out.println("StringUtils.isNoneEmpty(\"zou\", \"\"):" + StringUtils.isNoneEmpty("zou", ""));
System.out.println("StringUtils.isNoneEmpty(\" zou \", null):" + StringUtils.isNoneEmpty(" zou ", null));
System.out.println("StringUtils.isNoneEmpty(\" \", \"zou\"):" + StringUtils.isNoneEmpty(" ", "zou"));
System.out.println("StringUtils.isNoneEmpty(\"zou\", \"qiqi\"):" + StringUtils.isNoneEmpty("zou", "qiqi"));
}
}
输出结果:
StringUtils.isBlank()
是否为真空值(空格或者空值)
package top.hqxiaozou;
import org.apache.commons.lang3.StringUtils;
/**
* @author: 邹祥发
* @date: 2022/7/4 22:20
*/
public class IsBlank {
public static void main(String[] args) {
System.out.println("StringUtils.isBlank(null):" + StringUtils.isBlank(null));
System.out.println("StringUtils.isBlank(\"\"):" + StringUtils.isBlank(""));
System.out.println("StringUtils.isBlank(\" \"):" + StringUtils.isBlank(" "));
System.out.println("StringUtils.isBlank(\"zou\"):" + StringUtils.isBlank("zou"));
System.out.println("StringUtils.isBlank(\" zou \"):" + StringUtils.isBlank(" zou "));
}
}
输出结果:
StringUtils.isAnyBlank()
是否包含任何真空值(包含空格或空值)
package top.hqxiaozou;
import org.apache.commons.lang3.StringUtils;
/**
* @author: 邹祥发
* @date: 2022/7/4 22:24
*/
public class isAnyBlank {
public static void main(String[] args) {
System.out.println("StringUtils.isAnyBlank(null):" + StringUtils.isAnyBlank((CharSequence) null));
System.out.println("StringUtils.isAnyBlank(null, null):" + StringUtils.isAnyBlank(null, null));
System.out.println("StringUtils.isAnyBlank(null, \"zou\") :" + StringUtils.isAnyBlank(null, "zou"));
System.out.println("StringUtils.isAnyBlank(\"\", \"zou\") :" + StringUtils.isAnyBlank("", "zou"));
System.out.println("StringUtils.isAnyBlank(\"zou\", \"\") :" + StringUtils.isAnyBlank("zou", ""));
System.out.println("StringUtils.isAnyBlank(\" zou \", null) :" + StringUtils.isAnyBlank(" zou ", null));
System.out.println("StringUtils.isAnyBlank(\" \", \"zou\") :" + StringUtils.isAnyBlank(" ", "zou"));
System.out.println("StringUtils.isAnyBlank(\"zou\", \"qiqi\") :" + StringUtils.isAnyBlank("zou", "qiqi"));
}
}
输出结果:
StringUtils.isNoneBlank()
是否全部都不包含空值或空格
package top.hqxiaozou;
import org.apache.commons.lang3.StringUtils;
/**
* @author: 邹祥发
* @date: 2022/7/4 22:30
*/
public class IsNoneBlank {
public static void main(String[] args) {
System.out.println("StringUtils.isNoneBlank(null):" + StringUtils.isNoneBlank((CharSequence) null));
System.out.println("StringUtils.isNoneBlank(null, null):" + StringUtils.isNoneBlank(null, null));
System.out.println("StringUtils.isNoneBlank(null, \"zou\"):" + StringUtils.isNoneBlank(null, "zou"));
System.out.println("StringUtils.isNoneBlank(\"\", \"zou\"):" + StringUtils.isNoneBlank("", "zou"));
System.out.println("StringUtils.isNoneBlank(\"zou\", \"\"):" + StringUtils.isNoneBlank("zou", ""));
System.out.println("StringUtils.isNoneBlank(\" zou \", null):" + StringUtils.isNoneBlank(" zou ", null));
System.out.println("StringUtils.isNoneBlank(\" \", \"zou\"):" + StringUtils.isNoneBlank(" ", "zou"));
System.out.println("StringUtils.isNoneBlank(\"zou\", \"qiqi\"):" + StringUtils.isNoneBlank("zou", "qiqi"));
}
}
输出结果:
StringUtils的其他方法
可以参考官方的文档,里面有详细的描述,有些方法还是很好用的。
https://commons.apache.org/proper/commons-lang/apidocs/org/apache/commons/lang3/StringUtils.html
| 方法名 | 英文解释 | 中文解释 |
|---|---|---|
| IsEmpty/IsBlank | checks if a String contains text | 检查字符串是否包含文本 |
| Trim/Strip | removes leading and trailing whitespace | 删除前导和尾随空格 |
| Equals/Compare | compares two strings null-safe | 比较两个字符串是否为null安全的 |
| startsWith | check if a String starts with a prefix null-safe | 检查字符串是否以前缀null安全开头 |
| endsWith | check if a String ends with a suffix null-safe | 检查字符串是否以后缀null安全结尾 |
| IndexOf/LastIndexOf/Contains | null-safe index-of checks | 包含空安全索引检查 |
| IndexOfAny/LastIndexOfAny/IndexOfAnyBut/LastIndexOfAnyBut | index-of any of a set of Strings | 任意一组字符串的索引 |
| ContainsOnly/ContainsNone/ContainsAny | does String contains only/none/any of these characters | 字符串是否仅包含/无/这些字符中的任何一个 |
| Substring/Left/Right/Mid | null-safe substring extractions | 字符串安全提取 |
| SubstringBefore/SubstringAfter/SubstringBetween | substring extraction relative to other strings -相对其他字符串的字符串提取 | |
| Split/Join | splits a String into an array of substrings and vice versa | 将字符串拆分为子字符串数组,反之亦然 |
| Remove/Delete | removes part of a String -删除字符串的一部分 | |
| Replace/Overlay | Searches a String and replaces one String with another | 搜索字符串,然后用另一个字符串替换 |
| Chomp/Chop | removes the last part of a String | 删除字符串的最后一部分 |
| AppendIfMissing | appends a suffix to the end of the String if not present | 如果不存在后缀,则在字符串的末尾附加一个后缀 |
| PrependIfMissing | prepends a prefix to the start of the String if not present | 如果不存在前缀,则在字符串的开头添加前缀 |
| LeftPad/RightPad/Center/Repeat | pads a String | 填充字符串 |
| UpperCase/LowerCase/SwapCase/Capitalize/Uncapitalize | changes the case of a String | 更改字符串的大小写 |
| CountMatches | counts the number of occurrences of one String in another | 计算一个字符串在另一个字符串中出现的次数 |
| IsAlpha/IsNumeric/IsWhitespace/IsAsciiPrintable | checks the characters in a String | 检查字符串中的字符 |
| DefaultString | protects against a null input String | 防止输入字符串为空 |
| Rotate | rotate (circular shift) a String | 旋转(循环移位)字符串 |
| Reverse/ReverseDelimited | reverses a String -反转字符串 | |
| Abbreviate | abbreviates a string using ellipsis or another given String | 使用省略号或另一个给定的String缩写一个字符串 |
| Difference | compares Strings and reports on their differences | 比较字符串并报告其差异 |
| LevenshteinDistance | the number of changes needed to change one String into another | 将一个String转换为另一个String所需的更改次数 |

评论区 0