Java工具類:commons-lang 3.2.1 發布 發布
commons-lang是一個很有用的開源包,它彌補了Java API在提供的基本處理方法上的不足。從它的命名上就可以看出它主要是一些公共的工具集合,比如對字符、數組的操作等等。它封裝了很多Java具體的操作,也就是如果要實現某功能需要你自己寫的代碼,它都替你封裝好,你只需調用它的方法就行了。
該版本兼容 3.1 版本,改進內容包括:
o LANG-937: Fix missing Hamcrest dependency in Ant Build
o LANG-941: Test failure in LocaleUtilsTest when building with JDK 8
o LANG-942: Test failure in FastDateParserTest and FastDateFormat_ParserTest
when building with JDK8. Thanks to Bruno P. Kinoshita,
Henri Yandell.
o LANG-938: Build fails with test failures when building with JDK 8
下載地址:http://commons.apache.org/lang/download_lang.cgi
下面弄幾個簡單的例子:
1、合并兩個數組: org.apache.commons.lang. ArrayUtils
有時我們需要將兩個數組合并為一個數組,用ArrayUtils就非常方便,示例如下:
private static void testArr(){String[] s1 = new String[]{"1","2","3"};
String[] s2 = new String[]{"a","b","c"};
String[] s = (String[])ArrayUtils.addAll(s1,s2);
for (int i=0;i<s.length;i++){
System.out.println(s[i]);
}
String str = ArrayUtils.toString(s);
str = str.substring(1,str.length()-1);
System.out.println(str+">>"+str.length());
}</pre>
從ArrayUtils.addAll的源碼中也可以看到,它其實用了System.arraycopy來進行合并處理。
2、隨機數的生成
隨機數我們知道用Random就成,但如果我們不進行封裝的話,恐怕每次都要至少寫2行代碼才行,但commons-lang卻替你封裝好了,每次生成隨機數,只需像如下這樣調用即可:
RandomUtils.nextInt()
只需一行。
3、對字符串根據符號來切分
假設有這樣一個字符串
String str = “abc,haha,故鄉,賬號”;
現在對其按“,”來進行分割,得到每一個分割后的詞,通常我們都會這么寫:
String[] strArr = str.split(",");for (String s : strArr){
System.out.println(s);
}</pre>
但commons-lang真是熱心,它對此也進行了處理,如下:
StrTokenizer strTokenizer = StrTokenizer.getTSVInstance(str);strTokenizer.setDelimiterChar(',');//表示按,來進行分割
while(strTokenizer.hasNext()){
System.out.println(strTokenizer.next());
}</pre>
在StrTokenizer采用了Iterator模式來進行,兩者雖然代碼量相差無幾,但我覺得
commons-lang處理得要更好,最起碼采用的設計模式思想讓事情變得更加簡潔,不是嗎?
上面三個只是commons-lang中的九牛一毛,只是讓大家對commons-lang有個大概的印象和了解,要想了解掌握更多的使用功能,就只能自己去研究研究了,好在commons-lang有源碼且代碼也很容易理解。
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!