Maven 坐标:
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.12.0</version>
</dependency>
字符串判空
其实空字符串,不只是 null 一种,还有""," ","null"等等,多种情况。
String str1 = null;
String str2 = "";
String str3 = " ";
String str4 = "abc";
System.out.println(StringUtils.isEmpty(str1));
System.out.println(StringUtils.isEmpty(str2));
System.out.println(StringUtils.isEmpty(str3));
System.out.println(StringUtils.isEmpty(str4));
System.out.println("=====");
System.out.println(StringUtils.isNotEmpty(str1));
System.out.println(StringUtils.isNotEmpty(str2));
System.out.println(StringUtils.isNotEmpty(str3));
System.out.println(StringUtils.isNotEmpty(str4));
System.out.println("=====");
System.out.println(StringUtils.isBlank(str1));
System.out.println(StringUtils.isBlank(str2));
System.out.println(StringUtils.isBlank(str3));
System.out.println(StringUtils.isBlank(str4));
System.out.println("=====");
System.out.println(StringUtils.isNotBlank(str1));
System.out.println(StringUtils.isNotBlank(str2));
System.out.println(StringUtils.isNotBlank(str3));
System.out.println(StringUtils.isNotBlank(str4));
执行结果:
true
true
false
false
=====
false
false
true
true
=====
true
true
true
false
=====
false
false
false
true
分隔字符串
分隔字符串是常见需求,如果直接使用 String 类的 split 方法,就可能会出现空指针异常。
String str1 = null;
System.out.println(StringUtils.split(str1,","));
System.out.println(str1.split(","));
执行结果:
null
Exception in thread "main" java.lang.NullPointerException
\tat com.sue.jump.service.test1.UtilTest.main(UtilTest.java:21)
判断是否纯数字
给定一个字符串,判断它是否为纯数字,可以使用isNumeric
方法。例如:
String str1 = "123";
String str2 = "123q";
String str3 = "0.33";
System.out.println(StringUtils.isNumeric(str1));
System.out.println(StringUtils.isNumeric(str2));
System.out.println(StringUtils.isNumeric(str3));
执行结果:
true
false
false
将集合拼接成字符串
将某个集合的内容,拼接成一个字符串,然后输出,这时可以使用join
方法
List<String> list = Lists.newArrayList("a", "b", "c");
List<Integer> list2 = Lists.newArrayList(1, 2, 3);
System.out.println(StringUtils.join(list, ","));
System.out.println(StringUtils.join(list2, " "));
执行结果:
a,b,c
1 2 3
其他方法
trim(String str)
:去除字符串首尾的空白字符。trimToEmpty(String str)
:去除字符串首尾的空白字符,如果字符串为 null,则返回空字符串。trimToNull(String str)
:去除字符串首尾的空白字符,如果结果为空字符串,则返回 null。equals(String str1, String str2)
:比较两个字符串是否相等。equalsIgnoreCase(String str1, String str2)
:比较两个字符串是否相等,忽略大小写。startsWith(String str, String prefix)
:检查字符串是否以指定的前缀开头。endsWith(String str, String suffix)
:检查字符串是否以指定的后缀结尾。contains(String str, CharSequence seq)
:检查字符串是否包含指定的字符序列。indexOf(String str, CharSequence seq)
:返回指定字符序列在字符串中首次出现的索引,如果没有找到,则返回 -1。lastIndexOf(String str, CharSequence seq)
:返回指定字符序列在字符串中最后一次出现的索引,如果没有找到,则返回 -1。substring(String str, int start, int end)
:截取字符串中指定范围的子串。replace(String str, String searchString, String replacement)
:替换字符串中所有出现的搜索字符串为指定的替换字符串。replaceAll(String str, String regex, String replacement)
:使用正则表达式替换字符串中所有匹配的部分。join(Iterable<?> iterable, String separator)
:使用指定的分隔符将可迭代对象中的元素连接为一个字符串。split(String str, String separator)
:使用指定的分隔符将字符串分割为一个字符串数组。capitalize(String str)
:将字符串的第一个字符转换为大写。uncapitalize(String str)
:将字符串的第一个字符转换为小写。