不积跬步,无以至千里。不积小流,无以成江海。
我们常用的StringUtils工具类org.apache.commons.lang3.StringUtils 与 org.springframework.util.StringUtils
他们提供的Split方法有差别,导致今天程序出现问题时费了点时间才发现问题。特意写测试对比了两个方法,以免以后再掉坑里。
实现方式对比
首先是 org.apache.commons.lang3.StringUtils#split
的实现
1 | /** |
在上面的注释中已经给出了一些示例
org.springframework.util.StringUtils#split
的实现
1 | /** |
测试对比
下面通过跑测试对比如下:
参数1 | 参数2 | org.apache.commons.lang3.StringUtils#split | org.springframework.util.StringUtils#split |
---|---|---|---|
null | null | null | null |
“1,2” | “,” | String[1]={“1,2”} | null |
null | “,” | Null | null |
“1,2,3” | “,” | String[3]={“1”,”2”,”3”} | String[3]={“1”,”2”,”3”} |
“1,2,3” | “:” | String[1]={“1,2,3”} | null |
“” | “,” | String[0]={} | null |
“1” | “,” | String[1]={“1”} | null |
通过对比,org.apache.commons.lang3.StringUtils#split
优势明显,不会随便就抛出空指针异常,因此今后最好使用 org.apache.commons.lang3.StringUtils#split
这个方法,可以避免一些无端的异常。