commons

分享几个关于StrngUtils的几个实用的方法(以下方法中省略了参数)

1.isBlank()

这个方法用来判空,包括null和空字符串,之前自己写的时候都是str != null && str.trim().length() > 0 ,现在有了这个方法直接StringUtils.isBlank(str)即可

贴一下源码吧,下面要和isEmpty()进行比较

 1 public static boolean isBlank(CharSequence cs) {
 2         int strLen;
 3         if (cs == null || (strLen = cs.length()) == 0) {
 4             return true;
 5         }
 6         for (int i = 0; i < strLen; i++) {
 7             if (Character.isWhitespace(cs.charAt(i)) == false) {
 8                 return false;
 9             }
10         }
11         return true;
12     }

2.isEmpty()

这个方法与上面的isBlank()方法唯一的不同的在于空字符串的判断,请看源码

1   public static boolean isEmpty(CharSequence cs) {
2         return cs == null || cs.length() == 0;
3     }

对于空字符串isEmpty()并不准确判断,因为它和isBlank()方法相比少了Character.isWhitespace()的判断.于是有了下面这种运行结果

 推荐使用isBlank()

 3.repeat()

 用于重复拼接字符串,还可以指定使用分隔符,这个方法结合join()可以在以报文的方式发送文件时,补齐文件名,文件大小等属性的字符串长度,jdk1.8里String也新增了

join()

 源码只贴一部分吧,比较有意思的是那个for循环部分,参数repeat表示要重复的次数,可以这么理解 i-=2; i++  <=> i--

就这么多吧,StringUtils还有很多其他的方法,比如difference(),contains()(用字符对应的int值来判断是否被包含),基本上都是static的,调用的时候也非常方便

 下一篇是RandomStringUtils,RandomUtils 链接:http://www.cnblogs.com/tele-share/p/8168880.html

原文地址:https://www.cnblogs.com/tele-share/p/8060129.html