StringUtils工具类详解
StringUtils工具类主要用于操作java.lang.Sting对象。lang3工具包提供。
pom
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.9</version>
</dependency>
常用方法如下:
isEmpty
- isEmpty的判断逻辑为,只要字符串不为null,并且长度不为0,则说明非空,返回false
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