目錄
比較常用的工具類有:
ArrayUtils常用方法:
StringUtils常用方法:
ObjectUtils常用方法:
RandomUtils常用方法:
NumberUtils 常用方法:
DateUtils常用方法:
SystemUtils常用方法:
Commons Lang這一組API也是提供一些基礎的、通用的操作和處理,如自動生成toString()的結果、自動實作hashCode()和equals()方法、數組操作、枚舉、日期和時間的處理等等。
Maven依賴:
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.7</version>
</dependency>
比較常用的工具類有:
ArrayUtils:數組工具類,提供數組拷貝、查找、反轉等功能
StringUtils:提供字元串操作,對null是安全的,字元串查找、替換、分割、去空格等操作
ObjectUtils: 用于操作Java對象,提供null安全的通路和其他一些功能
RandomUtils:随機數工具類,獲得随機整數、小數、字元串等
NumberUtils:數值工具類,數值類型轉換等操作
DateUtils:日期工具類
擴充:
SystemUtils: 在java.lang.System基礎上提供更友善的通路,如使用者路徑、Java版本、時區、作業系統等判斷
EnumUtils:枚舉工具類
ReflectionToStringBuilder/ToStringBuilder:重寫toString方法
EqualsBuilder/HashCodeBuilder:提供了友善的方法來覆寫equals() 和hashCode()方法
ArrayUtils常用方法:
add(int[] array, int index, int element) // 增加元素
addAll(int[] array1, int... array2) // 并集操作,合并數組
clone(int[] array) // 克隆數組
contains(int[] array, int valueToFind) // 查找元素是否存在數組中
isEmpty(int[] array) // 判斷是否為空,length=0或null都屬于
isEquals(Object array1, Object array2)// 比較兩個數組是否相等
isSameLength(int[] array1, int[] array2) // 判斷兩個數組長度是否相等
isSameType(Object array1, Object array2) // 判斷兩個數組類型是否相等,注意int和Integer比較時不相等
indexOf(int[] array, int valueToFind) // 查找數組元素位置
lastIndexOf(int[] array, int valueToFind) // 查找數組元素最後出現位置
nullToEmpty(Object[] array) // 将null數組轉為對應類型的空數組,如果array不是null,則傳回array
remove(int[] array, int index) // 删除指定位置元素,注意傳回新數組,删除元素後面的元素會前移,保持數組有序
removeElement(int[] array, int element) // 删除數組中指定值的元素
reverse(int[] array) // 反轉數組
subarray(int[] array, int startIndexInclusive, int endIndexExclusive) //數組截取
toArray(T... items) // 将不定參數轉換為數組
toMap(Object[] array) // 将二維數組轉換為Map
toObject(int[] array) // 将基本數組類型轉為包裝類型
toString(Object array)// 輸出數組内容
toString(Object array, String stringIfNull)//數組為null時,傳回第二個參數
StringUtils常用方法:
abbreviate(String str, int maxWidth) // 縮進字元串為最大maxWidth長度,第二參數最低為 4,要包含...
compare(String str1, String str2) // 比較兩字元串的大小
compareIgnoreCase(String str1, String str2)
capitalize(String str) // 首字母大寫
uncapitalize(String str) // 首字母小寫
countMatches(CharSequence str, CharSequence sub) // 統計參數2在字元串中出現的次數
contains(CharSequence seq, CharSequence searchSeq) // 判斷某字元串是否包含某子字元串
equals(CharSequence cs1, CharSequence cs2) // 判斷兩字元串相等
equalsIgnoreCase(CharSequence str1, CharSequence str2) // 判斷兩字元串相等,忽略大小寫
isEmpty(CharSequence cs) // 判斷是否為空
isNotEmpty(CharSequence cs) // 判斷是否不為空
isAnyEmpty(CharSequence... css) // 判斷是否含有空字元串
isNoneEmpty(CharSequence... css) // 判斷是否都不是空字元串,與isAnyEmpty(CharSequence... css)相反
isAllEmpty(CharSequence... css) // 判斷是否都是空字元串
isBlank(CharSequence cs) // isEmpty和isBlank的差別在于isEmpty不會忽略空格
isNotBlank(CharSequence cs)
isAllLowerCase(CharSequence cs) // 判斷字元串是否全部大寫或小寫
isAllUpperCase(CharSequence cs)
isAlpha(CharSequence cs) // 判斷字元串是否全部由字母組成
isNumeric(CharSequence cs) // 判斷字元串是否全部由數字組成
isAlphanumeric(CharSequence cs) // 判斷字元串是否全部由字母或數字組成
isAlphaSpace(CharSequence cs) // 判斷字元串是否全部由字母或空格組成
isWhitespace(CharSequence cs) // 判斷字元串是否全部由空格組成
join(Object[] array, String separator) // 将指定數組轉換成字元串,并使用指定分隔符拼接
repeat(String str, int repeat) // 将字元串重複指定次數
repeat(String str, String separator, int repeat) // 在重複字元串時,采用指定字元拼接
trim(String str) // 去除字元串前後的控制符
strip(String str, String stripChars) // 去除指定字元串兩端的指定字元
stripStart(String str, String stripChars) // 去除指定字元串開始位置的指定字元
stripEnd(String str, String stripChars) // 去除指定字元串結尾位置的指定字元
indexOf(CharSequence seq, CharSequence searchSeq) // 查找某個字元在字元串中第一次出現時的索引位置
ordinalIndexOf(CharSequence str, CharSequence searchStr, int ordinal) // 傳回在指定字元串中出現指定字元的位置
left(String str, int len) // 得到一個字元串最左邊的len個字元
right(String str, int len) // 從右邊截取len個字元
mid(String str, int pos, int len) // 得到一個字元串中間的len個字元
substringBetween(String str, String open, String close) // 傳回在字元串中以指定字元開始和指定字元結束的中間字元串
substringsBetween(String str, String open, String close) // 該方法傳回字元串數組
truncate(String str, int maxWidth) // 截斷字元串
truncate(String str, int offset, int maxWidth)
split(String str, String separatorChars) // 将某字元串按字元分割成數組,預設按空格分組
replace(String text, String searchString, String replacement) // 替換某字元串為另一個字元串
startsWith(CharSequence str, CharSequence prefix) // 判斷某字元串是否包含有指定字首的字元串
endsWith(CharSequence str, CharSequence suffix)
ObjectUtils常用方法:
defaultIfNull(Object object, Object defaultValue) // 如果傳遞的對象為null,則傳回預設值。
equals(Object object1, Object object2) // 比較對象的相等性
identityToString(Object object) // 用父類Object的toString()方法傳回對象資訊
toString(Object obj) // 傳回類本身的toString()方法結果,對象為null時,傳回0長度字元串
RandomUtils常用方法:
nextBoolean()
nextDouble()
nextLong()
nextInt(int n)
NumberUtils 常用方法:
createBigDecimal(String str) // 通過字元串建立BigDecimal類型 ,支援int,float,long等數值
isDigits(String str) // 判斷字元串是否為整數
isNumber(String str) // 判斷字元串是否為數字
max(int a, int b, int c) // 擷取參數中最大的值,支援傳入數組
min(int a, int b, int c) // 擷取參數中最小的值,支援傳入數組
toInt(String str) // 将字元串轉換為int類型,支援float,long,short等數值類型
DateUtils常用方法:
isSameDay(Date date1, Date date2) // 判斷兩個日期是否是同一天
parseDate(String str, String... parsePatterns) // 解析日期時間字元串成Date對象
addYears(Date date, int amount) // 對給定的日期進行計算(年月日…)
setYears(Date date, int amount) // 對給定的日期時間設定年份(年月日…)
toCalendar(Date date) // 将日期轉為Calendar執行個體
round(Date date, int field) // 對日期時間進行四舍五入
truncate(Date date, int field) //從給定字段開始格式化截取日期
ceiling(Date date, int field) //從給定字段開始“向上”格式化日期
getFragmentInDays(Date date, int fragment) // 傳回一個指定時間的天數(年月日…)
truncatedEquals(Calendar cal1, Calendar cal2, int field) //比較月曆對應字段是否相等
SystemUtils常用方法:
SystemUtils.FILE_SEPARATOR // 系統檔案分隔符(現使用File.separator替代)
getHostName()// 擷取主機名
getJavaHome()// 擷取JAVA HOME
getJavaIoTmpDir()// 臨時目錄
getUserDir()
getUserHome()// 擷取使用者家目錄