Java工具類 Apache Commons:commons-lang 3.0.1 發布

fmms 13年前發布 | 22K 次閱讀 Java

commons-lang是一個很有用的開源包,它彌補了Java API在提供的基本處理方法上的不足。從它的命名上就可以看出它主要是一些公共的工具集合,比如對字符、數組的操作等等。它封裝了很多Java具體的操作,也就是如果要實現某功能需要你自己寫的代碼,它都替你封裝好,你只需調用它的方法就行了。

Apache Commons 團隊剛發布了 Commons Lang 3.0.1. 包含了9個改變和修復了6個bug。詳情請看:https://commons.apache.org/lang/changes-report.html#a3.0.1

下載地址: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());

}

從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);

}

但commons-lang真是熱心,它對此也進行了處理,如下:

StrTokenizer strTokenizer = StrTokenizer.getTSVInstance(str);

strTokenizer.setDelimiterChar(',');//表示按,來進行分割

while(strTokenizer.hasNext()){

System.out.println(strTokenizer.next());

}

在StrTokenizer采用了Iterator模式來進行,兩者雖然代碼量相差無幾,但我覺得

commons-lang處理得要更好,最起碼采用的設計模式思想讓事情變得更加簡潔,不是嗎?

上面三個只是commons-lang中的九牛一毛,只是讓大家對commons-lang有個大概的印象和了解,要想了解掌握更多的使用功能,就只能自己去研究研究了,好在commons-lang有源碼且代碼也很容易理解。

 本文由用戶 fmms 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!