日期:2014-05-17  浏览次数:20981 次

Java工具类之Apache的Commons Lang和BeanUtils
Apache Commons包估计是Java中使用最广发的工具包了,很多框架都依赖于这组工具包中的一部分,它提供了我们常用的一些编程需要,但是JDK没能提供的机能,最大化的减少重复代码的编写。

http://commons.apache.org/

1)Commons Lang是对JDK中java.lang包的补充,提供了各种各样的Utilities工具类,这里说说最常用的几个工具类。

版本:commons-lang3-3.1.jar

1、字符串的空判断
//isEmpty  
System.out.println(StringUtils.isEmpty(null));      // true  
System.out.println(StringUtils.isEmpty(""));        // true  
System.out.println(StringUtils.isEmpty(" "));       // false  
System.out.println(StringUtils.isEmpty("bob"));     // false  
System.out.println(StringUtils.isEmpty("  bob  ")); // false  
  
//isBlank  
System.out.println(StringUtils.isBlank(null));      // true  
System.out.println(StringUtils.isBlank(""));        // true  
System.out.println(StringUtils.isBlank(" "));       // true  
System.out.println(StringUtils.isBlank("bob"));     // false  
System.out.println(StringUtils.isBlank("  bob  ")); // false


2、字符串的Trim
//trim  
System.out.println(StringUtils.trim(null)); // null  
System.out.println(StringUtils.trim("")); // ""  
System.out.println(StringUtils.trim("     ")); // ""  
System.out.println(StringUtils.trim("abc")); // "abc"  
System.out.println(StringUtils.trim("    abc")); // "abc"  
System.out.println(StringUtils.trim("    abc  ")); // "abc"  
System.out.println(StringUtils.trim("    ab c  ")); // "ab c"  
  
//strip  
System.out.println(StringUtils.strip(null)); // null  
System.out.println(StringUtils.strip("")); // ""  
System.out.println(StringUtils.strip("   ")); // ""  
System.out.println(StringUtils.strip("abc")); // "abc"  
System.out.println(StringUtils.strip("  abc")); // "abc"  
System.out.println(StringUtils.strip("abc  ")); // "abc"  
System.out.println(StringUtils.strip(" abc ")); // "abc"  
System.out.println(StringUtils.strip(" ab c ")); // "ab c"  
   
System.out.println(StringUtils.strip("  abcyx", "xyz")); // "  abc"  
  
System.out.println(StringUtils.stripStart("yxabcxyz  ", "xyz")); // "abcxyz  "  
System.out.println(StringUtils.stripEnd("  xyzabcyx", "xyz")); // "  xyzabc"

3、字符串的分割
//默认半角空格分割  
String str1 = "aaa bbb ccc";  
String[] dim1 = StringUtils.split(str1); // => ["aaa", "bbb", "ccc"]  
  
System.out.println(dim1.length);//3  
System.out.println(dim1[0]);//"aaa"  
System.out.println(dim1[1]);//"bbb"  
System.out.println(dim1[2]);//"ccc"  
  
//指定分隔符  
String str2 = "aaa,bbb,ccc";  
String[] dim2 = StringUtils.split(str2, ","); // => ["aaa", "bbb", "ccc"]  
  
System.out.println(dim2.length);//3  
System.out.println(dim2[0]);//"aaa"  
System.out.println(dim2[1]);//"bbb"  
System.out.println(dim2[2]);//"ccc"  
  
//去除空字符串  
String str3 = "aaa,,bbb";  
String[] dim3 = StringUtils.split(str3, ","); // => ["aaa", "bbb"]  
  
System.out.println(dim3.length);//2  
System.out.println(dim3[0]);//"aaa"  
System.out.println(dim3[1]);//"bbb"  
  
//包含空字符串  
String str4 = "aaa,,bbb";  
String[] dim4 = StringUtils.splitPreserveAllTokens(str4, ","); // => ["aaa", "", "bbb"]  
  
System.out.println(dim4.length);//3  
System.out.println(dim4[0]);//"aaa"  
System.out.println(dim4[1]);//""  
System.out.println(dim4[2]);//"bbb"  
  
//指定分割的最大次数(超过后不分割)  
String str5 = "aaa,bbb,ccc";  
String[] dim5 = StringUtils.split(str5, ",", 2); // => ["aaa", "bbb,ccc"]  
  
System.out.println(dim5.length);//2  
System.out.println(dim5[0]);//"aaa"  
System.out.println(dim5[1]);//"bbb,ccc"

4、字符串的连接
//数组元素拼接  
String[] array = {"aaa", "bbb", "ccc"};  
String result1 = StringUtils.join(array, ",");   
  
System.out.println(result1);//"aaa,bbb,ccc"  
  
//集合元素拼接  
List<String> list = new ArrayList<String>();  
list.add("aaa");  
list.add("bbb");  
list.add("ccc");  
String result2 = StringUtils.join(list, ",");  
  
System.out.println(result2);//"aaa,bbb,ccc"