BeanUtils
Commons-BeanUtils 提供對 Java 反射和自省API的包裝java
Betwixt
Betwixt提供將 JavaBean 映射至 XML 文檔,以及相反映射的服務.算法
Chain
Chain 提供實現組織複雜的處理流程的「責任鏈模式」.數據庫
CLI
CLI 提供針對命令行參數,選項,選項組,強制選項等的簡單API.apache
Codec
Codec 包含一些通用的編碼解碼算法。包括一些語音編碼器, Hex, Base64, 以及URL encoder.數組
Collections
Commons-Collections 提供一個類包來擴展和增長標準的 Java Collection框架安全
Configuration
Commons-Configuration 工具對各類各式的配置和參考文件提供讀取幫助.網絡
Daemon
一種 unix-daemon-like java 代碼的替代機制框架
DBCP
Commons-DBCP 提供數據庫鏈接池服務dom
DbUtils
DbUtils 是一個 JDBC helper 類庫,完成數據庫任務的簡單的資源清除代碼.模塊化
Digester
Commons-Digester 是一個 XML-Java對象的映射工具,用於解析 XML配置文件.
Discovery
Commons-Discovery 提供工具來定位資源 (包括類) ,經過使用各類模式來映射服務/引用名稱和資源名稱。.
EL
Commons-EL 提供在JSP2.0規範中定義的EL表達式的解釋器.
FileUpload
FileUpload 使得在你能夠在應用和Servlet中容易的加入強大和高性能的文件上傳能力
HttpClient
Commons-HttpClient 提供了能夠工做於HTTP協議客戶端的一個框架.
IO
IO 是一個 I/O 工具集
Jelly
Jelly是一個基於 XML 的腳本和處理引擎。 Jelly 借鑑了 JSP 定指標籤,Velocity, Cocoon和Xdoclet中的腳本引擎的許多優勢。Jelly 能夠用在命令行, Ant 或者 Servlet之中。
Jexl
Jexl是一個表達式語言,經過借鑑來自於Velocity的經驗擴展了JSTL定義的表達式語言。.
JXPath
Commons-JXPath 提供了使用Xpath語法操縱符合Java類命名規範的 JavaBeans的工具。也支持 maps, DOM 和其餘對象模型。.
Lang
Commons-Lang 提供了許多許多通用的工具類集,提供了一些java.lang中類的擴展功能,目前流行的是Commons-Lang3
Latka
Commons-Latka 是一個HTTP 功能測試包,用於自動化的QA,驗收和衰減測試.
Launcher
Launcher 組件是一個交叉平臺的Java 應用載入器。Commons-launcher 消除了須要批處理或者Shell腳原本載入Java 類。.原始的 Java 類來自於Jakarta Tomcat 4.0 項目
Logging
Commons-Logging 是一個各類 logging API實現的包裹類.
Math
Math 是一個輕量的,自包含的數學和統計組件,解決了許多很是通用但沒有及時出如今Java標準語言中的實踐問題.
Modeler
Commons-Modeler 提供了建模兼容JMX規範的Mbean的機制.
Net
Net 是一個網絡工具集,基於 NetComponents 代碼,包括 FTP 客戶端等等。
Pool
Commons-Pool 提供了通用對象池接口,一個用於建立模塊化對象池的工具包,以及一般的對象池實現.
Primitives
Commons-Primitives提供了一個更小,更快和更易使用的對Java基本類型的支持。當前主要是針對基本類型的 collection。.
Validator
The commons-validator提供了一個簡單的,可擴展的框架來在一個XML文件中定義校驗器 (校驗方法)和校驗規則。支持校驗規則的和錯誤消息的國際化。
common-lang是上述common包中的一個,common-lang跟java.lang這個包的做用相似,
Commons Lang這一組API也是提供一些基礎的、通用的操做和處理,如自動生成toString()的結果、自動實現hashCode()和equals()方法、數組操做、枚舉、日期和時間的處理等等。目前這組API的版本是2.1,
下載地址以下(其中後一個是源代碼):
http://apache.justdn.org/jakarta/commons/lang/binaries/commons-lang-2.1.zip
http://apache.justdn.org/jakarta/commons/lang/source/commons-lang-2.1-src.zip
目前流行的是lang3,依賴以下:
<dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> <version>3.9</version> </dependency>
這一組API的全部包名都以org.apache.commons.lang開頭,共有以下8個包:
org.apache.commons.lang
org.apache.commons.lang.builder
org.apache.commons.lang.enum
org.apache.commons.lang.enums
org.apache.commons.lang.exception
org.apache.commons.lang.math
org.apache.commons.lang.mutable
org.apache.commons.lang.time
其中的lang.enum已不建議使用,替代它的是緊隨其後的lang.enums包。 lang包主要是一些能夠高度重用的Util類;lang.builder包包含了一組用於產生每一個Java類中都常使用到的toString()、hashCode()、equals()、compareTo()等等方法的構造器;lang.enums包顧名思義用於處理枚舉;lang.exception包用於處理Java標準API中的exception,爲1.4以前版本提供Nested Exception功能;lang.math包用於處理數字;lang.mutable用於包裝值型變量;lang.time包提供處理日期和時間的功能。
咱們首先來看org.apache.commons.lang包,這個包提供了一些有用的包含static方法的Util類。除了6個Exception類和2個已經deprecated的數字類以外,commons.lang包共包含了17個實用的類:
用於對數組的操做,如添加、查找、刪除、子數組、倒序、元素類型轉換等;
用於操做位元,提供了一些方便而安全的方法;
用於操做和轉換 boolean 或者 Boolean 及相應的數組;
包含了 Java 環境支持的字符編碼,提供是否支持某種編碼的判斷;
用於設定字符範圍並作相應檢查;
用於設定一組字符做爲範圍並作相應檢查;
用於操做 CharSet ;
用於操做 char 值和 Character 對象;
用於對 Java 類的操做,不使用反射;
用於操做 Java 對象,提供 null 安全的訪問和其餘一些功能;
用於生成隨機的字符串;
用於處理對象序列化,提供比通常 Java 序列化更高級的處理能力;
用於正確處理轉義字符,產生正確的 Java 、 JavaScript 、 HTML 、 XML和 SQL 代碼;
處理 String 的核心類,提供了至關多的功能;
在 java.lang.System 基礎上提供更方便的訪問,如用戶路徑、 Java 版本、時區、操做系統等判斷;
提供驗證的操做,有點相似 assert 斷言;
用於處理單詞大小寫、換行等。