Apache lang3 StringUtils工具类常用方法
程序员文章站
2022-04-15 17:51:19
文章目录引入依赖StringUtils常用方法isBlankisNotBlankisEmptyisNotEmptyjoinequals在工作中,apache lang3是一个非常常用的工具包,其中包含了很多通用的方法,能够在工作中提升我们的效率,简化我们的代码开发。其中StringUtils是apache lang3对字符串方法封装的一个常用工具类,今天我们就来学习一下这个字符串工具类。引入依赖 org.apache.co...
文章目录
在工作中,apache lang3是一个非常常用的工具包,其中包含了很多通用的方法,能够在工作中提升我们的效率,简化我们的代码开发。
其中StringUtils是apache lang3对字符串方法封装的一个常用工具类,今天我们就来学习一下这个字符串工具类。
引入依赖
<dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> <version>3.7</version> </dependency>
StringUtils常用方法
isBlank
-
字符串非空判断,只要传入的字符串不为
null
并且长度不为0,则返回false
。 -
注意:如果字符串是一些特殊字符,也会被判定为空,返回
true
。
String str1 = null; System.out.println(StringUtils.isBlank(str1)); //true String str2 = ""; System.out.println(StringUtils.isBlank(str2)); //true String str3 = "\n"; System.out.println(StringUtils.isBlank(str3)); //true String str4 = "\u001C"; System.out.println(StringUtils.isBlank(str4)); //true String str5 = "字符串"; System.out.println(StringUtils.isBlank(str5)); //false String str6 = " abc "; System.out.println(StringUtils.isBlank(str6)); //false
isNotBlank
-
返回结果正好是isBlank的非值,因为该方法的底层实现其实就是
return !isBlank(cs);
String str1 = null; System.out.println(StringUtils.isNotBlank(str1)); //false String str2 = ""; System.out.println(StringUtils.isNotBlank(str2)); //false String str3 = "\n"; System.out.println(StringUtils.isNotBlank(str3)); //false String str4 = "\u001C"; System.out.println(StringUtils.isNotBlank(str4)); //false String str5 = "字符串"; System.out.println(StringUtils.isNotBlank(str5)); //true String str6 = " abc "; System.out.println(StringUtils.isNotBlank(str6)); //true
isEmpty
- isEmpty的作用和isBlank类似,但是在效果上有所区别,因为isEmpty不会判断特殊字符,如果存在特殊字符,会将其当成普通字符串处理。
-
isEmpty的判断逻辑为,只要字符串不为
null
,并且长度不为0,则说明非空,返回false
- 建议在工作开发中使用isBlank或者isNotBlank方法来判断字符串是否非空。
String str1 = null; System.out.println(StringUtils.isEmpty(str1)); //true String str2 = ""; System.out.println(StringUtils.isEmpty(str2)); //true String str3 = "\n"; System.out.println(StringUtils.isEmpty(str3)); //false String str4 = "\u001C"; System.out.println(StringUtils.isEmpty(str4)); //false String str5 = "字符串"; System.out.println(StringUtils.isEmpty(str5)); //false String str6 = " abc "; System.out.println(StringUtils.isEmpty(str6)); //false
isNotEmpty
-
返回结果正好是isEmpty的非值,因为该方法的底层实现其实就是
return !isEmpty(cs);
String str1 = null; System.out.println(StringUtils.isNotEmpty(str1)); //false String str2 = ""; System.out.println(StringUtils.isNotEmpty(str2)); //false String str3 = "\n"; System.out.println(StringUtils.isNotEmpty(str3)); //true String str4 = "\u001C"; System.out.println(StringUtils.isNotEmpty(str4)); //true String str5 = "字符串"; System.out.println(StringUtils.isNotEmpty(str5)); //true String str6 = " abc "; System.out.println(StringUtils.isNotEmpty(str6)); //true
join
- join是StringUtils提供的一个字符串拼接的方法。
- 该方法的实现是以StringBuilder的方式来进行字符串拼接的,线程不安全,多线程环境下不建议使用。
String str1 = "abc"; String str2 = "def"; String str3 = null; String str4 = ""; String str5 = "123"; String join = StringUtils.join(str1, str2, str3,str4,str5); System.out.println(join); //abcdef123
equals
-
StringUtils.equals()
方法是字符串String.equals()
方法的一个增强,在StringUtils中添加了字符串为null
的判断逻辑,即使使用null
进行比较,也不会出现空指针异常。
String str1 = "abc"; String str2 = "def"; System.out.println(StringUtils.equals(str1, str2)); //false str1 = ""; str2 = "def"; System.out.println(StringUtils.equals(str1, str2)); //false str1 = null; str2 = ""; System.out.println(StringUtils.equals(str1, str2)); //false str1 = null; str2 = null; System.out.println(StringUtils.equals(str1, str2)); //true str1 = ""; str2 = ""; System.out.println(StringUtils.equals(str1, str2)); //true str1 = "123"; str2 = "123"; System.out.println(StringUtils.equals(str1, str2)); //true
equalsIgnoreCase
- 忽略大小写比较字符串是否相同
String str1 = "abc"; String str2 = "ABC"; System.out.println(StringUtils.equalsIgnoreCase(str1, str2)); //true str1 = "abc"; str2 = "ABc"; System.out.println(StringUtils.equalsIgnoreCase(str1, str2)); //true
split
- StringUtils中的split同样是字符串split方法的一个增强。
String str1 = "abc 123\nDEF"; String str2 = " "; String[] split1 = StringUtils.split(str1); for (String str : split1) { System.out.println(str); } // abc 123 DEF String str3 = "abc,123,DEF$456"; String str4 = ","; String[] split2 = StringUtils.split(str3, str4); for (String str : split2) { System.out.println(str); } // abc 123 DEF$456 String str5 = null; String str6 = null; String[] split3 = StringUtils.split(str5, str6); System.out.println(split3); // null
trim
-
用于除去字符串两边的空格,如果为
null
,则返回null
。
String str1 = " abcdef "; System.out.println(StringUtils.trim(str1)); //abcdef String str2 = "abcdef "; System.out.println(StringUtils.trim(str2)); //abcdef String str3 = " abcdef"; System.out.println(StringUtils.trim(str3)); //abcdef String str4 = ""; System.out.println(StringUtils.trim(str4)); // [空字符串] String str5 = null; System.out.println(StringUtils.trim(str5)); //null
contains
-
用于判断字符串中是否包含另外的字符串,如果有值为
null
,则返回false
。
String str1 = "abcdef123ghijk"; String str2 = "23"; System.out.println(StringUtils.contains(str1, str2)); //true str1 = null; str2 = null; System.out.println(StringUtils.contains(str1, str2)); //false str1 = "abcdef"; str2 = null; System.out.println(StringUtils.contains(str1, str2)); //false
Apache lang3 StringUtils中封装的字符串方法较为常用的就是上面的这些方法,除此之外,还有其他一些方法,以后如果有时间也会向各位同学一一介绍。
本文地址:https://blog.csdn.net/qq_45193304/article/details/108229658
上一篇: 怎么洗螃蟹才干净 螃蟹清洗的四个小窍门
下一篇: JVM内存结构