Java常用工具类之StringUtils类
文章目录
原文链接:https://blog.csdn.net/diypp2012/article/details/82971716
该工具类是用于操作 Java.lang.String 类的。 StringUtils 类与 String 类的区别在于:此类是 null 安全的,即如果输入参数 String 为 null,则不会抛出NullPointerException 异常,代码更健壮。 以函数 isEmpty 为例子: 存在字符串stringTest, 若该字符串为空,返回 true
1.使用String类判断方法为:
|
|
该方法需要先进行非空判断,已避免空指针。
2.使用StringUtils的判断方法为:
|
|
查看 StringUtils 的源码可知:
|
|
其相关的操作已经处理好。再查看常见操作trim 函数的源码如下:
|
|
因此可知,使用StringUtils类比原始的String类更加健壮,避免空指针。 常见方法如下
1. 判断函数
-
判断是否为空
StringUtils.isEmpty(String str)
-
判断是否非空
StringUtils.isNotEmpty(String str)
-
判断空白
StringUtils.isBlank(String str)
-
判断非空白
StringUtils.isNotBlank(String str)
-
判断是否存在空白(数组)
StringUtils.isAnyBlank(CharSequence… css)
-
判断是否存在空(数组)
StringUtils.isAnyEmpty(CharSequence… css)
-
判断不存在空白(数组)
StringUtils.isNoneBlank(CharSequence… css)
-
判断不存在空(数组)
StringUtils.isNoneEmpty(CharSequence… css)
-
判断是否空白
StringUtils.isWhitespace(CharSequence cs)
2. 大小写函数
- 首字母大写
StringUtils.capitalize(String str)
- 首字母小写
StringUtils.uncapitalize(String str)
- 全部大写
StringUtils.upperCase(String str)
- 全部小写
StringUtils.lowerCase(String str)
- 大小写互相转化
StringUtils.swapCase(String str)
- 判断是否全大写
StringUtils.isAllUpperCase(CharSequence cs)
- 判断是否全小写
StringUtils.isAllLowerCase(CharSequence cs)
3. 删除函数
-
从字符串中删除某字符
StringUtils.remove(String str, char remove)
-
从字符串中删除字符串
StringUtils.remove(String str, String remove)
-
删除结尾匹配的字符串
StringUtils.removeEnd(String str, String remove)
-
删除结尾匹配的字符串,忽略大小写,返回String:
StringUtils.removeEndIgnoreCase(String str, String remove)
-
正则表达式删除字符串
StringUtils.removePattern(String source, String regex)
-
删除开头匹配的字符串
StringUtils.removeStart(String str, String remove)
-
删除开头匹配的字符串,忽略大小写
StringUtils.removeStartIgnoreCase(String str, String remove)
-
删除所有空格,包括中间
StringUtils.deleteWhitespace(String str)
4. 字符替换函数
-
用 replacement 替换 searchString 字符串 max 表示替换个数,默认全替换,为 -1,可不填。0表示不换。其他表示从头开始替换 n 个
StringUtils.replace(String text, String searchString, String replacement, int max)
-
仅替换一个,从头开始
StringUtils.replaceOnce(String text, String searchString, String replacement)
-
多个替换, searchList 与 replacementList 需一一对应
StringUtils.replaceEach(String text, String[] searchList, String[] replacementList)
-
多个循环替换,searchList 与 replacementList 需一一对应
StringUtils.replaceEachRepeatedly(String text, String[] searchList, String[] replacementList)
-
替换 start 到 end 的字符,返回String:
StringUtils.overlay(String str, String overlay, int start, int end)
5. 拆分合并函数
-
特定符号分割字符串,默认为空格,可不填
StringUtils.split(String str)
-
特定符合分割字符串为长度为 n 的字符数组,n为 0,表示全拆
StringUtils.split(String str, String separatorChars, int n)
-
合并函数,数组合并为字符串
StringUtils.join(byte[] array,char separator)
-
合并函数,separator 为合并字符,当为null时,表示简单合并,亦可不填;startIndex和endIndex表示合并数组该下标间的字符,使用separator字符,亦可不填,表示全合并
StringUtils.join(Object[] array,char separator,int startIndex,int endIndex)
6. 截取函数
- 截取字符串
StringUtils.substring(String str,int start)
- 从某字符后字符开始截取
StringUtils.substringAfter(String str,String separator)
- 截取至最后一处该字符出现
StringUtils.substringBeforeLast(String str,String separator)
- 从第一次该字符出现后截取
StringUtils.substringAfterLast(String str,String separator)
- 截取某字符中间的子字符串
StringUtils.substringBetween(String str,String tag)
7. 删除空白函数
- 删除空格
StringUtils.trim(String str)
- 转换空格为empty
StringUtils.trimToEmpty(String str)
- 转换空格为 null
StringUtils.trimToNull(String str)
- 删除所有空格,包括字符串中间空格
StringUtils.deleteWhitespace(String str)
8. 判断是否相等函数
- 判断是否相等
StringUtils.equals(CharSequence cs1,CharSequence cs2)
- 判断是否相等,忽略大小写
StringUtils.equalsIgnoreCase(CharSequence cs1,CharSequence cs2)
9. 是否包含函数
-
判断第一个参数字符串,是否都出现在参数2中
StringUtils.containsOnly(CharSequence cs,char… valid)
-
判断字符串中所有字符,都不在参数2中
StringUtils.containsNone(CharSequence cs,char… searchChars)
-
判断字符串是否以第二个参数开始
StringUtils.startsWith(CharSequence str,CharSequ~ence prefix)
-
判断字符串是否以第二个参数开始,忽略大小写
StringUtils.startsWithIgnoreCase(CharSequence str,CharSequence prefix)