Lang 中工具類比較多,這裏介紹幾個主要的:
ClassUtils: getShortClassName,這個函數應該在 java.lang.Class 類中有的,我看到不少人本身寫這個函數。getAllInterfaces,convertClassNamesToClasses,isAssignable,primitivesToWrappers,isInnerClass。
NumberUtils: 關於數字以及數字和字符串轉換的類 stringToInt,toDouble,createNumber,isAllZeros, int compare(float lhs, float rhs), isNumber(String str),double min(double[] array)。
RandomUtils: 用於產生隨機數的。
DateFormatUtils: 日期時間格式轉換,以及本地時間和 UTC 時間轉換。
DateUtils: 日期工具類。isSameDay,truncate,round,modify。
基於反射機制的幾個類:
CompareToBuilder: 比較,用在算法、排序、比較的地方。reflectionCompare,append。
EqualsBuilder: 經過反射機制比較。reflectionEquals 不少項目中用到。
HashCodeBuilder: 能夠經過反射生成 hash code,不少算法的地方涉及到 hash code,可是並非每一個人都知道一種 hash code 的生成方法。
ToStringBuilder: 當你須要重載 toString 函數而不想寫代碼把當前類的全部成員信息列出來,能夠用這個函數。
其它的幾個類我用得比較少:
SerializationUtils Java中得序列化比較奧妙,容易出錯啊。
SystemUtils 能夠讀取一些關於 jdk 信息,操做系統信息的工具類。java