网站建设规划书txt微盘,企业邮箱个人注册,公众号开发者模式怎么用,手机网站导航按钮目录 一、字符串判空二、分隔字符串三、判断是否为纯数字四、将集合拼接成字符串五、其他方法 字符串#xff08;String#xff09;在我们的日常工作中#xff0c;用得非常非常非常多。 在我们的代码中经常需要对字符串判空#xff0c;截取字符串、转换大小写、分隔字符串、… 目录 一、字符串判空二、分隔字符串三、判断是否为纯数字四、将集合拼接成字符串五、其他方法 字符串String在我们的日常工作中用得非常非常非常多。 在我们的代码中经常需要对字符串判空截取字符串、转换大小写、分隔字符串、比较字符串、去掉多余空格、拼接字符串、使用正则表达式等等。
如果只用 String 类提供的那些方法我们需要手写大量的额外代码不然容易出现各种异常。
现在有个好消息是org.apache.commons.lang3包下的StringUtils工具类给我们提供了非常丰富的选择。
Maven 坐标
dependencygroupIdorg.apache.commons/groupIdartifactIdcommons-lang3/artifactIdversion3.12.0/version
/dependencyStringUtils 提供了非常多实用的方法大概有下图的四页到五页我只截了两页实在是太多了。 接下来我们来拿一些常用的方法举例说明。
一、字符串判空
其实空字符串不只是 null 一种还有“” null等等多种情况。 StringUtils 给我们提供了多个判空的静态方法例如
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
falsefalse
false
true
truetrue
true
true
falsefalse
false
false
true示例中的isEmpty、isNotEmpty、isBlank和isNotBlank这 4 个判空方法你们可以根据实际情况使用。
优先推荐使用isBlank和isNotBlank方法因为它会把 也考虑进去。
二、分隔字符串
分隔字符串是常见需求如果直接使用 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)使用 StringUtils 的 split 方法会返回 null而使用 String 的 split 方法会报指针异常。
三、判断是否为纯数字
给定一个字符串判断它是否为纯数字可以使用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方法。例如
ListString list Lists.newArrayList(a, b, c);
ListInteger 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)将字符串的第一个字符转换为小写。