阅读更多
主要是想总结写StringUtils工具类常用方法,因为在写代码中最常用到的,对于初学者,这些都是很基础的东西。StringUtils方法操作的对象都是String类型,其实也是JDK提供String类型API的一个补充和完善,功能更加强大。
import org.apache.commons.lang.StringUtils;
除了构造器,StringUtils中一共有130多个方法,都是static方法,所以我们可以很方便的直接调用。对常用的方法做个介绍以及区分:
1.public static boolean isEmpty(String str) {
return str == null || str.length() == 0;
}
该方法看源码就能明白,判断字符串是否为空。但是特别需要注意的是,该方法不会判断空格。
System.out.println(StringUtils.isEmpty(" ")); //false
2. public static boolean isNotEmpty(String str) {
return !StringUtils.isEmpty(str);
}
与方法一对应。有的人质疑,既然有方法一,为啥还要定义该方法。我想应该是增强代码可读性,一目了然,方法见名知意。
3. public static boolean isBlank(String str) {
int strLen;
if (str == null || (strLen = str.length()) == 0) {
return true;
}
for (int i = 0; i < strLen; i++) {
if ((Character.isWhitespace(str.charAt(i)) == false)) {
return false;
}
}
return true;
}
该方法是对方法一的增强,会过滤掉空格
4.除去空格的方法,除了最常见的trim(),还有deleteWhitespace(String str),strip(String str)。
这三个方法都有扩展的,主要说下基本用法的区别。
strip方法可过滤掉字符串前后的空格;
trim不仅能过滤空格,还能过滤一些控制字符;例如:
StringUtils.trim(" \b \t \n \f \r ") = ""
StringUtils.trim(" \n\txw \b") = "xw"
deleteWhitespace不仅能过滤前后的空格,还能过滤掉中间的。例如:
StringUtils.deleteWhitespace(" ab c ") = "abc"
5. public static boolean isNumeric(String str)
判断字符串是否只是由数字组成
StringUtils.isNumeric("123") = true
* StringUtils.isNumeric("12 3") = false
* StringUtils.isNumeric("ab2c") = false
* StringUtils.isNumeric("12-3") = false
* StringUtils.isNumeric("12.3") = false
对字符串的操作,StringUtils真是太丰富了,你能想到的,基本上都有实现。具体环境下,需要用到更加丰富的方法,还是要参照API,平时也慢慢积累。