我们这里讲的是org.apache.commons.lang.StringUtils这个类,在引jar包的时候注意不要引错jar包。
StringUtils中方法的操作对象是java.lang.String类型的对象,相当于是对JDK提供的操作String类的一个补充,为我们操作字符串提供了遍历,其实在StringUtils的底层代码中还是用的是JDK中提供的一些方法,且为方便调用StringUtils中的方法都为静态方法,StringUtils只是相当与把这些方法进行了组合和封装,让我们操作String更加便利。
由于StringUtils中包含的方法较多,这里我们只讲解几个经常用到的。
isEmpty和isNotEmpty把空格当字符串处理,isBlank和isNotBlank把空格当空处理。isBlank和isNotBlank实际在代码中利用了isWhitespace()方法对字符串进行判断,把空格、tab键、换行符当做空来处理。
isEmpty(String str) 是否为空,空格字符为falseisNotEmpty(String str) 是否为非空,空格字符为trueisBlank(String str) 是否为空,空格字符为trueisNotBlank(String str) 是否为非空,空格字符为false
下面这些用法比较常规,不多做解释,只不过在StringUtils源码中有的调用的是isEmpty,有点用的是isBlank造成了对空字符串的判断方式不同。
equals(String str1,String str2) 比较两个字符串是否相等,如果两个均为空则认为相等contains(String str,char searchChar) str中是否包含字符searchChar,str为null 或者 searchChar为null,返回falsetrim(String str)去除字符串两端的控制符,空字符串、null 返回 nullremove(String str,char remove) 去掉字符串str中所有包含remove的部分,然后返回join(Object[] array)把数组中的元素连接成一个字符串返回join(Object[] array,char split) 把数组中的元素拼接成一个字符串返回,把分隔符 split 也带上removeStart(String str,String remove) 如果字符串str是以remove开始,则去掉这个开始,然后返回,否则返回原来的串removeEnd(String str,String remove) 如果字符串str是以字符串remove结尾,则去掉这个结尾,然后返回,否则返回原来的串。stripStart (String str,String stripChars) 去除str 前端在stripChars中的字符stripEnd (String str,String stripChars) 去除str 后端在stripChars中的字符subString(String str,int start) 从start 开始,包含start 那个字符,得到字符串str 的子串,如果start为负数,则从后面开始数起。如果str 为null 或者 "" 则返回其本身subString(String str,int start,int end) 从start 开始到end结束,包含start 那个字符,得到字符串str 的子串,如果start为负数,则从后面开始数起。如果str 为null 或者 "" 则返回其本身subStringBefore(String str,String separator) 得到字符串separator第一次出现前的子串。不包含那个字符,如果str 为null 或者 "" 则返回其本身。subStringAfter(String str,String separator) 得到字符串separator第一次出现后的子串,不包含那个字符,如果 str 为null,或者"",则返回其本身