概述
提供了許多幫助程序實用程序,特別是字符串操作方法,基本數值方法,對象反射,并發,創建和序列化以及系統屬性。
maven依賴
<dependency><groupId>org.apache.commons</groupId><artifactId>commons-lang3</artifactId><version>3.18.0</version></dependency>
常用API
StringUtils
方法 | 說明 |
---|---|
abbreviate(String str, int maxWidth) abbreviate(String str, int offset, int maxWidth) abbreviate(String str, String abbrevMarker, int maxWidth) abbreviate(String str, String abbrevMarker, int offset, int maxWidth) | 縮略字符串(尾部) maxWidth為現在長度,最小為4 可配置其他參數offset 補償,默認為0 abbrevMarker 省略標記,默認為 … |
abbreviateMiddle(String str, String middle, int length) | 縮略字符串(中間), middle 省略標記 ; length 字符串縮略后的長度,包含省略標記 |
appendIfMissing(String str, CharSequence suffix, CharSequence… suffixes) | 字符串結尾的后綴是否與你要結尾的后綴匹配,若不匹配則添加后綴 suffix為添加的后綴;suffixes為匹配的后綴 無suffixes時匹配suffix |
appendIfMissingIgnoreCase(String str, CharSequence suffix, CharSequence… suffixes) | 同上,只是 忽略大小寫 |
capitalize(String str) | 首字母大寫 |
uncapitalize(String str) | 首字母小寫 |
center(String str, int size) center(String str, int size, char padChar) center(String str, int size, String padStr) | 字符串擴充至指定大小且居中 若擴充大小少于原字符大小則返回原字符,若擴充大小為 負數則為0計算 ) padChar可為字符串,也可不填,默認為" " |
chomp(String str) | 移除字符串末尾換行符(\n、\r 或 \r\n)的方法。 |
chop(String str) | 剔除字符串最后一個字符 |
compare(String str1, String str2) compare(String str1, String str2, boolean nullIsLess) | 字符串比較, 可設置nullIsLess,null為最小,默認為true |
compareIgnoreCase(String str1, String str2) compareIgnoreCase(String str1, String str2, boolean nullIsLess) | 同上(忽略大小寫) |
contains(CharSequence seq, CharSequence searchSeq) contains(CharSequence seq, int searchChar) | 判斷一字符串是否包含另一字符串 |
containsIgnoreCase(CharSequence s1, CharSequence s2) | 同上(忽略大小寫) |
containsAny(CharSequence cs, char… searchChars) containsAny(CharSequence cs, CharSequence searchChars) containsAny(CharSequence cs, CharSequence… searchCharSequences) | 判斷一字符串是否包含另一字符串中的任意字符,searchChars可為字符或字符串不定參 |
containsAnyIgnoreCase(CharSequence cs, CharSequence… searchCharSequences) | 同上(忽略大小寫) |
containsNone(CharSequence cs, char… searchChars) containsNone(CharSequence cs, String invalidChars) | 判斷一字符串是否不包含另一字符串中的任意字符,validChars可為字符不定參 |
containsOnly(CharSequence cs, char… valid) containsOnly(CharSequence cs, String validChars) | 判斷一字符串是否只包含另一字符串中的任意字符,validChars可為字符不定參 |
containsWhitespace(CharSequence seq) | 判斷是否包含空格 |
countMatches(CharSequence str, char ch) countMatches(CharSequence str, CharSequence sub) | 獲取字符串中字符個數,參數ch可為字符串 |
defaultIfBlank(T str, T defaultStr) | 為空白時設置默認值 |
defaultIfEmpty(T str, T defaultStr) | 為空時設置默認值 |
defaultString(String str) defaultString(String str, String defaultStr) | 字符串為null時設置默認值,不設置默認值時為空字符串"" |
deleteWhitespace(String str) | 字符串去空格(包括中間) |
difference(String str1, String str2) | 獲取兩字符串差異,可獲取兩個含有共同前綴字符串中str2不同的后綴部分 |
equals(CharSequence cs1, CharSequence cs2) | 判斷字符串是否相等 |
equalsIgnoreCase(CharSequence cs1, CharSequence cs2) | 同上(忽略大小寫) |
equalsAny(CharSequence string, CharSequence… searchStrings) | 判斷是否與searchStrings中任意相等 |
equalsAnyIgnoreCase(CharSequence string, CharSequence… searchStrings) | 同上(忽略大小寫) |
firstNonBlank(T… values) | 獲取第一個不是空白的值 |
firstNonEmpty(T… values) | 獲取第一個不是空的值 |
getBytes(String string, Charset charset) getBytes(String string, String charset) | 獲取字節數組 |
getCommonPrefix(String… strs) | 獲取公共前綴 |
getDigits(String str) | 獲取字符串中所有數字 |
getIfBlank(T str, Supplier defaultSupplier) | 如果為空白時通過接口獲取默認值 |
getIfEmpty(T str, Supplier defaultSupplier) | 如果為空時通過接口獲取默認值 |
indexOf(CharSequence seq, CharSequence searchSeq) indexOf(CharSequence seq, CharSequence searchSeq, int startPos) indexOf(CharSequence seq, int searchChar) indexOf(CharSequence seq, int searchChar, int startPos) | 獲取searchSeq在seq所在位置索引,startPos為 seq匹配searchSeq的開始位置 |
indexOfIgnoreCase(CharSequence str, CharSequence searchStr) | 同上(忽略大小寫) |
indexOfAny(CharSequence cs, char… searchChars) indexOfAny(CharSequence str, CharSequence… searchStrs) indexOfAny(CharSequence cs, String searchChars) | 獲取searchStrs在cs所在位置索引 searchStrs任意一個出現的第一個索引位置 |
indexOfAnyBut(CharSequence cs, char… searchChars) indexOfAnyBut(CharSequence seq, CharSequence searchChars) | 匹配第一個不是指定字符(字符串)的字符位置索引 |
indexOfDifference(CharSequence… css) indexOfDifference(CharSequence cs1, CharSequence cs2) | 獲取兩個或多個字符串開始不相同字符的位置索引 |
lastIndexOf(CharSequence seq, CharSequence searchSeq) lastIndexOf(CharSequence seq, CharSequence searchSeq, int startPos) lastIndexOf(CharSequence seq, int searchChar) lastIndexOf(CharSequence seq, int searchChar, int startPos) | 獲取searchSeq在seq中的最后一個位置的索引 |
lastIndexOfIgnoreCase(CharSequence str, CharSequence searchStr) lastIndexOfIgnoreCase(CharSequence str, CharSequence searchStr, int startPos) | 同上(忽略大小寫) |
lastIndexOfAny(CharSequence str, CharSequence… searchStrs) | 從尾端獲取searchStrs在str所在位置索引 searchStrs任意一個出現的第一個索引位置 |
lastOrdinalIndexOf(CharSequence str, CharSequence searchStr, int ordinal) | 獲取searchStr在str中倒數第ordinal個的位置索引 |
isAllBlank(CharSequence… css) | 是否所有都為空白 |
isAllEmpty(CharSequence… css) | 是否所有都為空 |
isAllLowerCase(CharSequence cs) | 是否都為小寫 |
isAllUpperCase(CharSequence cs) | 是否都為大寫 |
isAlpha(CharSequence cs) | 判斷是否全為字母 |
isAlphanumeric(CharSequence cs) | 判斷是否全為字母或數字 |
isAlphanumericSpace(CharSequence cs) | 判斷是否全為字母或數字或空格 |
isAlphaSpace(CharSequence cs) | 判斷是否全為字母或空格 |
isAnyBlank(CharSequence… css) | 判斷是否有空白 |
isAnyEmpty(CharSequence… css) | 判斷是否有空 |
isAsciiPrintable(CharSequence cs) | 檢查字符串是否只有可打印的ASCII編碼的的字符 |
isBlank(CharSequence cs) | 判斷是否為空白 |
isEmpty(CharSequence cs) | 判斷是否為空 |
isMixedCase(CharSequence cs) | 判斷是否含有大小寫字母 |
isNoneBlank(CharSequence… css) | 判斷是否都不為空白 |
isNoneEmpty(CharSequence… css) | 判斷是否都不為空 |
isNotBlank(CharSequence cs) | 判斷不為空白 |
isNotEmpty(CharSequence cs) | 判斷不為空 |
isNumeric(CharSequence cs) | 判斷是否為數字 |
isNumericSpace(CharSequence cs) | 是否全為數字 |
isWhitespace(CharSequence cs) | 判斷是否全為空格 |
join(Object[] array, String delimiter) join(Object[] array, String delimiter, int startIndex, int endIndex) join(Iterable<?> iterable, char separator) join(Iterable<?> iterable, String separator) join(Iterator<?> iterator, char separator) join(Iterator<?> iterator, String separator) join(List<?> list, char separator, int startIndex, int endIndex) join(List<?> list, String separator, int startIndex, int endIndex) join(T… elements) | 字符串拼接,可指定分隔符,開始、結束索引。 數組數據類型可為8種基礎數據類型 |
joinWith(String separator, Object… objects) | 分隔符拼接objects |
left(String str, int len) | 左邊截取len個字符 |
leftPad(String str, int size) leftPad(String str, int size, char padChar) leftPad(String str, int size, String padStr) | str不夠size長的在左邊補padStr |
right(String str, int len) | 右邊截取len個字符 |
rightPad(String str, int size) rightPad(String str, int size, char padChar) rightPad(String str, int size, String padStr) | str不夠size長的在右邊補padStr |
length(CharSequence cs) | 獲取字符串長度 |
lowerCase(String str) lowerCase(String str, Locale locale) | 轉換為小寫字母 |
upperCase(String str) upperCase(String str, Locale locale) | 轉換為大寫字母 |
swapCase(String str) | 大小寫轉換 |
toRootLowerCase(String source) | 轉小寫 |
toRootUpperCase(String source) | 轉大寫 |
mid(String str, int pos, int len) | 截取字符串 |
normalizeSpace(String str) | 格式化空格,去兩端空格 |
ordinalIndexOf(CharSequence str, CharSequence searchStr, int ordinal) | str中第ordinal個searchStr所在位置索引 |
overlay(String str, String overlay, int start, int end) | 用overlay覆蓋str中start至end位置 |
prependIfMissing(String str, CharSequence prefix, CharSequence… prefixes) | 字符串前綴是否與你要的前綴匹配,若不匹配則添加前綴 prefix為添加的前綴;prefixes為匹配的前綴 無prefixes時匹配prefix |
remove(String str, char remove) remove(String str, String remove) | 移除字符串str中的字符remove |
removeIgnoreCase(String str, String remove) | 同上(忽略大小寫) |
removeEnd(String str, String remove) | 移除字符串str后綴remove |
removeEndIgnoreCase(String str, String remove) | 同上(忽略大小寫) |
removeStart(String str, String remove) | 移除字符串str前綴remove |
removeStartIgnoreCase(String str, String remove) | 同上(忽略大小寫) |
repeat(char ch, int repeat) repeat(String str, int repeat) repeat(String str, String separator, int repeat) | 字符c(字符串str)重復repeat次,可配置分隔符separator |
replace(String text, String searchString, String replacement) replace(String text, String searchString, String replacement, int max) | text中searchString替換為replacement ,max為替換的最大數量,默認替換所有可匹配的字符串 |
replaceIgnoreCase(String text, String searchString, String replacement) | 同上(忽略大小寫) |
replaceChars(String str, char searchChar, char replaceChar) replaceChars(String str, String searchChars, String replaceChars) | str中的searchChars各字符替換為replaceChars中各字符 |
replaceEach(String text, String[] searchList, String[] replacementList) | str中的searchList各字符替換為replacementList中各字符 |
replaceEachRepeatedly(String text, String[] searchList, String[] replacementList) | str中的searchList各字符重復替換為replacementList中各字符 |
replaceOnce(String text, String searchString, String replacement) | text中第一個searchString替換為replacement |
replaceOnceIgnoreCase(String text, String searchString, String replacement) | 同上(忽略大小寫) |
reverse(String str) | 反轉字符串 |
reverseDelimited(String str, char sep) | 反轉字符串,sep為字符串定界符 |
rotate(String str, int shift) | 把str的后shift個字符移到前面 |
split(String str) split(String str, char separatorChar) split(String str, String separatorChars) split(String str, String separatorChars, int max) | 字符串按separatorChar分割為數組,max為分割的最大數量;separatorChars用于以多個字符分割 |
splitPreserveAllTokens(String str) splitPreserveAllTokens(String str, char separatorChar) splitPreserveAllTokens(String str, String separatorChars) splitPreserveAllTokens(String str, String separatorChars, int max) | 同上,按分割符整體分割,只是保留整個令牌(空字符串) |
splitByCharacterType(String str) | 根據字符類型分割字符串,例如分割 數字、字母、漢字等為一組。 |
splitByCharacterTypeCamelCase(String str) | 同上(忽略大小寫) |
splitByWholeSeparator(String str, String separator) splitByWholeSeparator(String str, String separator, int max) | 按分割符整體,不保留空字符串 |
splitByWholeSeparatorPreserveAllTokens(String str, String separator) splitByWholeSeparatorPreserveAllTokens(String str, String separator, int max) | 按分割符整體分割,并保留整個令牌(空字符串) |
startsWith(CharSequence str, CharSequence prefix) | 判斷是否已以prefix開頭 |
startsWithIgnoreCase(CharSequence str, CharSequence prefix) | 同上(忽略大小寫) |
startsWithAny(CharSequence sequence, CharSequence… searchStrings) | 判斷是否已以任意searchStrings開頭 |
endsWith(CharSequence str, CharSequence suffix) | 判斷是否以suffix結尾 |
endsWithIgnoreCase(CharSequence str, CharSequence suffix) | 同上(忽略大小寫) |
endsWithAny(CharSequence sequence, CharSequence… searchStrings) | 判斷是否以searchStrings中任意為結尾 |
strip(String str) strip(String str, String stripChars) | 去除兩端的stripChars字符串 |
stripAccents(String input) | 移除輸入字符串中的java特殊字符 |
stripAll(String… strs) stripAll(String[] strs, String stripChars) | 批量修改字符串 |
stripEnd(String str, String stripChars) | 批量去除字符串兩端的stripChars字符串 |
stripStart(String str, String stripChars) | 去除前端的stripChars字符串 |
stripToEmpty(String str) | 去兩端空格 |
stripToNull(String str) | 去兩端空格 |
substring(String str, int start) substring(String str, int start, int end) | 字符串截取,從start到end;end不傳截到末 |
substringAfter(String str, int separator) substringAfter(String str, String separator) | 截取第一個分隔符separator之后的字符串 |
substringAfterLast(String str, int separator) substringAfterLast(String str, String separator) | 截取最后一個分隔符separator之后的字符串 |
substringBefore(String str, int separator) substringBefore(String str, String separator) | 截取第一個分隔符separator之前的字符串 |
substringBeforeLast(String str, String separator) | 截取最后一個分隔符separator之前的字符串 |
substringBetween(String str, String tag) substringBetween(String str, String open, String close) | 獲取tag之間的第一個字符串 |
substringsBetween(String str, String open, String close) | 獲取open與close之間的所有字符串(成對截取) |
toCodePoints(CharSequence str) | 獲取字符串各字符的十進制unicode碼 |
toEncodedString(byte[] bytes, Charset charset) | 字節數組轉字符串 |
trim(String str) | 去字符串兩端空格 |
trimToEmpty(String str) | 去字符串兩端空格 |
trimToNull(String str) | 去字符串兩端空格 |
truncate(String str, int maxWidth) truncate(String str, int offset, int maxWidth) | 截短,從offset開始最長maxWidth |
unwrap(String str, char wrapChar) unwrap(String str, String wrapToken) | 去除字符串str前后端wrapChar |
valueOf(char[] value) | 字節數組轉字符串 |
wrap(String str, char wrapWith) wrap(String str, String wrapWith) | 字符串str前后端添加wrapChar |
wrapIfMissing(String str, char wrapWith) wrapIfMissing(String str, String wrapWith) | 字符串str前后端添加wrapChar(有則不添加) |
AnnotationUtils 注解工具類
方法 | 描述 |
---|---|
equals(Annotation a1, Annotation a2) | |
hashCode(Annotation a) | |
toString(Annotation a) | |
isValidAnnotationMemberType(Class<?> type) |
ArchUtils 操作系統相關工具類
方法 | 描述 |
---|---|
getProcessor() getProcessor(String value) |
ArrayUtils 數組工具類
方法 | 描述 |
---|---|
add(boolean[] array, boolean element) | 數組擴容添加元素(尾部添加) 類型可為各基本類型(省略),object及泛型 |
addAll(boolean[] array1, boolean… array2) | 數組批量擴容添加元素(尾部添加) 類型可為各基本類型及泛型 |
addFirst(boolean[] array, boolean element) | 數組擴容添加元素(頭部添加) 類型可為各基本類型及泛型 |
clone(boolean[] array) | 數組克隆 類型可為各基本類型及泛型 |
contains(boolean[] array, boolean valueToFind) | 判斷數組是否含有某元素 類型可為各基本類型,object及泛型 |
get(T[] array, int index, T defaultValue) | 通過索引獲取值,可設置默認值 |
getLength(Object array) | 獲取數組長度 |
hashCode(Object array) | 獲取數組hashCode |
indexesOf(boolean[] array, boolean value, int start) | 獲取array中所有value的索引, start為開始查找索引,可不傳,默認為0; 類型可為各基本類型及object |
indexOf(boolean[] array, boolean value, int start) | 獲取array中value的索引, start為開始查找索引,可不傳,默認為0; 類型可為各基本類型及object |
insert(int index, boolean[] array, boolean… values) | 在array的index索引位置批量添加數據 類型可為各基本類型及泛型 |
isArrayIndexValid(T[] array, int index) | 判斷index索引是否有效 |
isEmpty(boolean[] array) | 判斷數組是否為空 類型可為各基本類型及object |
isNotEmpty(boolean[] array) | 判斷數組是否不為空 類型可為各基本類型及object |
isSameLength(boolean[] arr1, boolean[] arr2) | 判斷數組是否長度相等 類型可為各基本類型及object |
isSameType(Object array1, Object array2) | 判斷數組類型是否相等 |
isSorted(boolean[] array) | 判斷數組是否已排序 類型可為各基本類型及泛型 |
lastIndexOf(boolean[] arr, boolean value, int start) | 獲取array中value的索引(倒序), start為開始查找索引,可不傳,默認為0; 類型可為各基本類型及object |
nullToEmpty(boolean[] array) | array為null返回空數組 類型可為各基本類型及包裝類,object |
remove(boolean[] array, int index) | 移除指定索引元素; 類型可為各基本類型,object及泛型 |
removeAll(boolean[] array, int… indices) | 移除多個指定索引元素; 類型可為各基本類型,object及泛型 |
removeAllOccurrences(boolean[] array, boolean element) | 移除所有指定元素的元素; 類型可為各基本類型及泛型 |
removeElement(boolean[] array, boolean element) | 移除第一個指定元素的元素; 類型可為各基本類型及泛型 |
removeElements(boolean[] array, boolean… values) | 移除多個指定元素的元素(第一個); 類型可為各基本類型及泛型 |
reverse(boolean[] array) | 反轉,可指定反轉范圍 類型可為各基本類型及object |
shift(boolean[] array, int o) | 后端o元素移動到前端,可指定反轉范圍 類型可為各基本類型及object |
shuffle(boolean[] array) | 元素隨機排序,可傳入參數Random 類型可為各基本類型及object |
subarray(boolean[] array, int start, int end) | 截取數組 類型可為各基本類型及泛型 |
swap(boolean[] array, int o1, int o2) | 元素交換位置,o1與o2為交換元素索引.可添加參數len,交換o1與o2索引后長度為len的位置 類型可為各基本類型及object |
toArray(T… items) | 轉換為數組 |
toMap(Object[] array) | 轉換為map集合 |
toObject(boolean[] array) | 基礎類型轉包裝類;類型可為各基本類型 |
toPrimitive(Boolean[] array) | 包裝類轉基礎類型,可設置默認值 |
toString(Object array) | 數組轉字符串 |
toStringArray(Object[] array) | object數組轉字符串數組,可設置對象為空時的默認值 |
BooleanUtils 布爾類型相關工具類
方法 | 描述 |
---|---|
and(boolean… array) and(Boolean… array) | 邏輯與 |
or(boolean… array) or(Boolean… array) | 邏輯或 |
negate(Boolean bool) | 邏輯非 |
xor(boolean… array) xor(Boolean… array) | 邏輯異或 |
compare(boolean x, boolean y) | 比較兩個布爾值并返回int類型 如果相等返回0 |
isTrue(Boolean bool) | 是否是true |
isNotTrue(Boolean bool) | 是否不是true |
isFalse(Boolean bool) | 是否是false |
isNotFalse(Boolean bool) | 是否不是false |
toBoolean(Boolean bool) toBoolean(int value) toBoolean(int value, int trueValue, int falseValue) toBoolean(Integer value, Integer trueValue, Integer falseValue) toBoolean(String str) toBoolean(String str, String trueString, String falseString) | 布爾對象、數字、字符串等轉換為布爾基礎類型 |
toBooleanDefaultIfNull(Boolean bool, boolean valueIfNull) | 布爾對象轉布爾基礎類型,并設置為null時的默認值 |
toBooleanObject(int value) toBooleanObject(int value, int trueValue, int falseValue, int nullValue) toBooleanObject(Integer value) toBooleanObject(Integer value, Integer trueValue, Integer falseValue, Integer nullValue) toBooleanObject(String str) toBooleanObject(String str, String trueString, String falseString, String nullString) | 數字、字符串等轉換為布爾對象 |
toInteger(boolean bool) toInteger(boolean bool, int trueValue, int falseValue) toInteger(Boolean bool, int trueValue, int falseValue, int nullValue) | 布爾類型轉int基礎類型 |
toIntegerObject(boolean bool) toIntegerObject(boolean bool, Integer trueValue, Integer falseValue) toIntegerObject(Boolean bool) toIntegerObject(Boolean bool, Integer trueValue, Integer falseValue, Integer nullValue) | 布爾類型轉Integer對象 |
toString(boolean bool, String trueString, String falseString) toString(Boolean bool, String trueString, String falseString, String nullString) toStringOnOff(boolean bool) toStringOnOff(Boolean bool) toStringTrueFalse(boolean bool) toStringTrueFalse(Boolean bool) toStringYesNo(boolean bool) toStringYesNo(Boolean bool) | 布爾類型轉各種類型的字符串 |
booleanValues() | 獲取布爾對象數組 |
primitiveValues() | 獲取基礎布爾類型數組 |
CharSequenceUtils 字符序列工具類
方法 | 描述 |
---|---|
subSequence(CharSequence cs, int start) | 截取字符序列 |
toCharArray(CharSequence source) | 字符序列轉字符數組 |
CharSetUtils 字符集工具類
方法 | 描述 |
---|---|
containsAny(String str, String… set) | 判斷字符串中是否包含指定字符集中的字符 |
count(String str, String… set) | 獲取字符串中指定字符集中的字符的數量 |
delete(String str, String… set) | 刪除字符串中指定字符集中的字符 |
keep(String str, String… set) | 保留字符串中指定字符集中的字符 |
squeeze(String str, String… set) | 壓縮字符串。字符串中指定字符集中的字符連續多個只保留一個 |
CharUtils 字符工具類
方法 | 描述 |
---|---|
toCharacterObject(String str) | 字符串轉Character對象,字符串取第一個字符 |
toChar(Character ch) toChar(Character ch, char defaultValue) toChar(String str) toChar(String str, char defaultValue) | 字符對象、字符串轉字符基礎類型 |
toIntValue(char ch) toIntValue(char ch, int defaultValue) toIntValue(Character ch) toIntValue(Character ch, int defaultValue) | 字符轉int,必須為’0’ - '9’之間的字符 |
toString(char ch) toString(Character ch) | 字符轉字符串 |
unicodeEscaped(char ch) unicodeEscaped(Character ch) | 字符轉unicode |
isAscii(char ch) | 判斷是否是Ascii字符 |
isAsciiPrintable(char ch) | 判斷是否是打印字符 |
isAsciiControl(char ch) | 判斷是否是控制字符 |
isAsciiAlpha(char ch) | 判斷是否是字母字符 |
isAsciiAlphaUpper(char ch) | 判斷是否是大寫字母字符 |
isAsciiAlphaLower(char ch) | 判斷是否是小寫字母字符 |
isAsciiNumeric(char ch) | 判斷是否是數字字符 |
isAsciiAlphanumeric(char ch) | 判斷是否是字母數字字符 |
compare(char x, char y) | 字符比較 |
ClassLoaderUtils 類加載器工具類
方法 | 描述 |
---|---|
toString(ClassLoader classLoader) | 類加載器轉字符串 |
toString(URLClassLoader classLoader) | URL路徑加載的類加載器轉字符串 |
ClassPathUtils ClassPath工具類
方法 | 描述 |
---|---|
toFullyQualifiedName(Class<?> context, String resourceName) toFullyQualifiedName(Package context, String resourceName) | 獲取指定類或包下類的類全名 |
toFullyQualifiedPath(Class<?> context, String resourceName) toFullyQualifiedPath(Package context, String resourceName) | 獲取指定類或包下類的類路徑 |
ClassUtils 類相關工具類
方法 | 描述 |
---|---|
getShortClassName(Object object, String valueIfNull) getShortClassName(Class<?> cls) getShortClassName(String className) | 獲取短類名 |
getSimpleName(Class<?> cls) getSimpleName(Class<?> cls, String valueIfNull) getSimpleName(Object object) getSimpleName(Object object, String valueIfNull) | 獲取類的簡單名稱 |
getName(Class<?> cls) getName(Class<?> cls, String valueIfNull) getName(Object object) getName(Object object, String valueIfNull) | 獲取類全名 |
getPackageName(Object object, String valueIfNull) getPackageName(Class<?> cls) getPackageName(String className) | 獲取包名 |
getAbbreviatedName(Class<?> cls, int lengthHint) getAbbreviatedName(String className, int lengthHint) | 獲取指定長度的縮寫類全名 |
getAllSuperclasses(Class<?> cls) | 獲取指定類的所有超類 |
getAllInterfaces(Class<?> cls) | 獲取指定類的所有接口 |
convertClassNamesToClasses(List classNames) | 類全名轉換為Class |
convertClassesToClassNames(List<Class<?>> classes) | Class轉換為類全名 |
isAssignable(Class<?>[] classArray, Class<?>… toClassArray) isAssignable(Class<?>[] classArray, Class<?>[] toClassArray, boolean autoboxing) | 用于判斷classArray里的類是否可以被賦值給toClassArray里面的類 |
isPrimitiveOrWrapper(Class<?> type) | 判斷是否是原始類或包裝類 |
isPrimitiveWrapper(Class<?> type) | 判斷是否是包裝類 |
primitiveToWrapper(Class<?> cls) | 原始類轉包裝類 |
primitivesToWrappers(Class<?>… classes) | 原始類批量轉包裝類 |
wrapperToPrimitive(Class<?> cls) | 包裝類轉原始類 |
wrappersToPrimitives(Class<?>… classes) | 包裝類批量轉原始類 |
isInnerClass(Class<?> cls) | 判斷指定類是否是內部類 |
getClass(ClassLoader classLoader, String className, boolean initialize) getClass(ClassLoader classLoader, String className) getClass(String className) getClass(String className, boolean initialize) | 通過類全名獲取Class類 |
getPublicMethod(Class<?> cls, String methodName, Class<?>… parameterTypes) | 獲取指定類的公共方法 |
toClass(Object… array) | 對象批量轉Class類 |
getShortCanonicalName(Object object, String valueIfNull) getShortCanonicalName(Class<?> cls) getShortCanonicalName(String canonicalName) | 獲取對象的短規范名 |
getCanonicalName(Class<?> cls) getCanonicalName(Class<?> cls, String valueIfNull) getCanonicalName(Object object) getCanonicalName(Object object, String valueIfNull) | 獲取對象的規范名 |
getPackageCanonicalName(Object object, String valueIfNull) getPackageCanonicalName(Class<?> cls) getPackageCanonicalName(String name) | 獲取對象的規范包名 |
hierarchy(Class<?> type) hierarchy(Class<?> type, Interfaces interfacesBehavior) | 獲取類的層級結構 |
EnumUtils 枚舉工具類
方法 | 描述 |
---|---|
generateBitVector(Class enumClass, E… values) | 合并枚舉值,位掩碼計算 |
generateBitVectors(Class enumClass, E… values) generateBitVectors(Class enumClass, Iterable<? extends E> values) | 合并枚舉值,位掩碼計算(枚舉數量大于64分組計算) |
getEnum(Class enumClass, String enumName) getEnum(Class enumClass, String enumName, E defaultEnum) | 獲取指定枚舉 |
getEnumIgnoreCase(Class enumClass, String enumName) getEnumIgnoreCase(Class enumClass, String enumName, E defaultEnum) | 同上。忽略大小寫 |
getEnumList(Class enumClass) | 獲取所有枚舉list集合 |
getEnumMap(Class enumClass) | 獲取所有枚舉map集合 |
isValidEnum(Class enumClass, String enumName) | 驗證枚舉 |
isValidEnumIgnoreCase(Class enumClass, String enumName) | 同上,忽略大小寫 |
processBitVector(Class enumClass, long value) | 從位掩碼解析枚舉集合 |
processBitVectors(Class enumClass, long… values) | 從位掩碼解析枚舉集合(分組) |
LocaleUtils Locale工具類
方法 | 描述 |
---|---|
availableLocaleList() | 用于獲取當前環境中所有已安裝的語言環境的列表(list集合) |
availableLocaleSet() | 用于獲取當前環境中所有已安裝的語言環境的列表(set集合) |
countriesByLanguage(String languageCode) | 獲取指定語言支持的國家列表 |
languagesByCountry(String countryCode) | 獲取指定國家支持的語言列表 |
isAvailableLocale(Locale locale) | 判斷指定語言是否支持 |
localeLookupList(Locale locale) localeLookupList(Locale locale, Locale defaultLocale) | 獲取要搜索的區域設置列表 |
toLocale(Locale locale) toLocale(String str) | 用于將字符串轉換為 Locale 對象 |
ObjectUtils 對象工具類
方法 | 描述 |
---|---|
isEmpty(Object object) | 判斷對象是否為空 |
isNotEmpty(Object object) | 判斷對象是否不為空 |
allNotNull(Object… values) | 判斷所有對象都不為空 |
allNull(Object… values) | 判斷所有對象都為空 |
anyNotNull(Object… values) | 判斷多個對象中是否至少有一個不為空 |
anyNull(Object… values) | 判斷多個對象中是否至少有一個為空 |
clone(T obj) | 克隆一個對象。 對象需實現Cloneable接口 |
cloneIfPossible(T obj) | 用于安全克隆對象。 |
compare(T c1, T c2) compare(T c1, T c2, boolean nullGreater) | 比較兩個可比較的對象的大小。nullGreater設置null值是否最大 |
defaultIfNull(T object, T defaultValue) | 如果對象為null返回默認值,否則返回當前對象 |
firstNonNull(T… values) | 返回第一個非空對象 |
getFirstNonNull(Supplier… suppliers) | 返回第一個Supplier接口獲取的非空對象 |
getIfNull(T object, Supplier defaultSupplier) | 如果對象為null返回Supplier接口獲取的對象,否則返回當前對象 |
identityToString(Appendable appendable, Object object) identityToString(Object object) identityToString(StringBuffer buffer, Object object) identityToString(StringBuilder builder, Object object) | 用于返回對象的字符串表示形式,若對象為 null 則返回 “null” 字符串。 |
max(T… values) | 最大值 |
median(Comparator comparator, T… items) median(T… items) | 中位數 |
min(T… values) | 最小值 |
mode(T… items) | 眾數 |
notEqual(Object object1, Object object2) | 判斷兩對象是否不等 |
requireNonEmpty(T obj) requireNonEmpty(T obj, String message) | 檢查某個對象是否為非空(null)并且其長度不為零。 |
RandomStringUtils 隨機字符串工具類
方法 | 描述 |
---|---|
random(int count) random(int count, boolean letters, boolean numbers) random(int count, int start, int end, boolean letters, boolean numbers) random(int count, int start, int end, boolean letters, boolean numbers, char… chars) random(int count, String chars) random(int count, char… chars) | 獲取隨機字符串 |
randomAscii(int count) randomAscii(int minLengthInclusive, int maxLengthExclusive) | 隨機Ascii字符字符串 |
randomAlphabetic(int count) randomAlphabetic(int minLengthInclusive, int maxLengthExclusive) | 隨機字母字符字符串 |
randomAlphanumeric(int count) randomAlphanumeric(int minLengthInclusive, int maxLengthExclusive) | 隨機字母數字字符字符串 |
randomGraph(int count) randomGraph(int minLengthInclusive, int maxLengthExclusive) | 隨機所有可見的ASCII字符字符串 |
randomNumeric(int count) randomNumeric(int minLengthInclusive, int maxLengthExclusive) | 隨機數字字符字符串 |
randomPrint(int count) randomPrint(int minLengthInclusive, int maxLengthExclusive) | 隨機所有可見的 ASCII 字符(包括空格)但不包含控制字符字符串 |
RandomUtils 隨機工具類
方法 | 描述 |
---|---|
nextBoolean() | 隨機布爾值 |
nextBytes(int count) | 隨機字符數組 |
nextInt(int startInclusive, int endExclusive) nextInt() | 隨機int值 |
nextLong(long startInclusive, long endExclusive) nextLong() | 隨機long值 |
nextDouble(double startInclusive, double endExclusive) nextDouble() | 隨機double值 |
nextFloat(float startInclusive, float endExclusive) nextFloat() | 隨機float值 |
RegExUtils 正則工具類
方法 | 描述 |
---|---|
removeAll(String text, Pattern regex) removeAll(String text, String regex) | 移除字符串中正則表達式所有匹配到的字符 |
removeFirst(String text, Pattern regex) removeFirst(String text, String regex) | 移除字符串中正則表達式第一次匹配到的字符 |
removePattern(String text, String regex) | 移除字符串中正則表達式所有匹配到的字符 |
replaceAll(String text, Pattern regex, String replacement) replaceAll(String text, String regex, String replacement) | 替換字符串中正則表達式所有匹配到的字符 |
replaceFirst(String text, Pattern regex, String replacement)) replaceFirst(String text, String regex, String replacement) | 替換字符串中正則表達式第一次匹配到的字符 |
replacePattern(String text, String regex, String replacement) | 替換字符串中正則表達式所有匹配到的字符 |
SerializationUtils 序列化工具類
方法 | 描述 |
---|---|
clone(T object) | 克隆對象 |
deserialize(byte[] objectData) deserialize(InputStream inputStream) | 反序列化對象 |
roundtrip(T obj) | 對象序列化與反序列化的工具方法,主要用于測試或驗證對象序列化后的恢復能力。 |
serialize(Serializable obj) serialize(Serializable obj, OutputStream outputStream) | 序列化對象 |
SystemUtils 系統工具類
方法 | 描述 |
---|---|
AWT_TOOLKIT | |
FILE_ENCODING | |
JAVA_AWT_FONTS | |
JAVA_AWT_GRAPHICSENV | |
JAVA_AWT_HEADLESS | |
JAVA_AWT_PRINTERJOB | |
JAVA_CLASS_PATH | |
JAVA_CLASS_VERSION | |
JAVA_COMPILER | |
JAVA_ENDORSED_DIRS | |
JAVA_EXT_DIRS | |
JAVA_HOME | |
JAVA_IO_TMPDIR | |
JAVA_LIBRARY_PATH | |
JAVA_RUNTIME_NAME | |
JAVA_RUNTIME_VERSION | |
JAVA_SPECIFICATION_NAME | |
JAVA_SPECIFICATION_VENDOR | |
JAVA_SPECIFICATION_VERSION | |
JAVA_UTIL_PREFS_PREFERENCES_FACTORY | |
JAVA_VENDOR | |
JAVA_VENDOR_URL | |
JAVA_VERSION | |
JAVA_VM_INFO | |
JAVA_VM_NAME | |
JAVA_VM_SPECIFICATION_NAME | |
JAVA_VM_SPECIFICATION_VENDOR | |
JAVA_VM_SPECIFICATION_VERSION | |
JAVA_VM_VENDOR | |
JAVA_VM_VERSION | |
OS_ARCH | |
OS_NAME | |
OS_VERSION | |
USER_COUNTRY | |
USER_DIR | |
USER_HOME | |
USER_LANGUAGE | |
USER_NAME | |
USER_TIMEZONE | |
IS_JAVA_1_1 IS_JAVA_1_2 IS_JAVA_1_3 IS_JAVA_1_4 IS_JAVA_1_5 IS_JAVA_1_6 IS_JAVA_1_7 IS_JAVA_1_8 IS_JAVA_9 IS_JAVA_10 IS_JAVA_11 IS_JAVA_12 IS_JAVA_13 IS_JAVA_14 IS_JAVA_15 | 判斷java版本 |
IS_OS_AIX IS_OS_HP_UX IS_OS_400 IS_OS_IRIX IS_OS_LINUX IS_OS_MAC IS_OS_MAC_OSX IS_OS_MAC_OSX_CHEETAH IS_OS_MAC_OSX_PUMA IS_OS_MAC_OSX_JAGUAR IS_OS_MAC_OSX_PANTHER IS_OS_MAC_OSX_TIGER IS_OS_MAC_OSX_LEOPARD IS_OS_MAC_OSX_SNOW_LEOPARD IS_OS_MAC_OSX_LION IS_OS_MAC_OSX_MOUNTAIN_LION IS_OS_MAC_OSX_MAVERICKS IS_OS_MAC_OSX_YOSEMITE IS_OS_MAC_OSX_EL_CAPITAN IS_OS_MAC_OSX_SIERRA IS_OS_MAC_OSX_HIGH_SIERRA IS_OS_MAC_OSX_MOJAVE IS_OS_MAC_OSX_CATALINA IS_OS_MAC_OSX_BIG_SUR IS_OS_FREE_BSD IS_OS_OPEN_BSD IS_OS_NET_BSD IS_OS_OS2 IS_OS_SOLARIS IS_OS_SUN_OS IS_OS_UNIX IS_OS_WINDOWS IS_OS_WINDOWS_2000 IS_OS_WINDOWS_2003 IS_OS_WINDOWS_2008 IS_OS_WINDOWS_2012 IS_OS_WINDOWS_95 IS_OS_WINDOWS_98 IS_OS_WINDOWS_ME IS_OS_WINDOWS_NT IS_OS_WINDOWS_XP IS_OS_WINDOWS_VISTA IS_OS_WINDOWS_7 IS_OS_WINDOWS_8 IS_OS_WINDOWS_10 IS_OS_ZOS | 判斷操作系統 |
getEnvironmentVariable(String name, String defaultValue) | 獲取系統環境配置 |
getHostName() | 獲取主機名 |
getJavaHome() | 獲取java安裝路徑 |
getJavaIoTmpDir() | 臨時文件目錄 |
getUserDir() | |
getUserHome() | |
getUserName() | |
getUserName(String defaultValue) | |
isJavaAwtHeadless() | |
isJavaVersionAtLeast(JavaVersion requiredVersion) | |
isJavaVersionAtMost(JavaVersion requiredVersion) |
ThreadUtils 線程工具類
方法 | 描述 |
---|---|
findThreadById(long threadId) findThreadById(long threadId, String threadGroupName) findThreadById(long threadId, ThreadGroup threadGroup) | 通過id查找線程 |
findThreadGroups(ThreadGroup group, boolean recurse, ThreadGroupPredicate predicate) findThreadGroups(ThreadGroupPredicate predicate) | 查找線程組 |
findThreadGroupsByName(String threadGroupName) | 通過線程組名稱查找線程組 |
findThreads(ThreadGroup group, boolean recurse, ThreadPredicate predicate) findThreads(ThreadPredicate predicate) | 查找線程 |
findThreadsByName(String threadName) findThreadsByName(String threadName, String threadGroupName) findThreadsByName(String threadName, ThreadGroup threadGroup) | 通過線程名稱查找線程 |
getAllThreadGroups() | 獲取所有線程組 |
getAllThreads() | 獲取所有線程 |
getSystemThreadGroup() | 獲取所有系統線程組 |
join(Thread thread, Duration duration) | 線程的join方法 |
sleep(Duration duration) | 線程的sleep方法 |
ComparableUtils 比較器工具類
方法 | 描述 |
---|---|
between(A b, A c) | 獲取區間比較器(包含邊界) |
betweenExclusive(A b, A c) | 獲取區間比較器(不包含邊界) |
ge(A b) | 獲取大于等于比較器 |
gt(A b) | 獲取小于等于比較器 |
is(A a) | 獲取等于比較器 |
le(A b) | 獲取大于比較器 |
lt(A b) | 獲取小于比較器 |
ConcurrentUtils 并發工具類
方法 | 描述 |
---|---|
extractCause(ExecutionException ex) | |
extractCauseUnchecked(ExecutionException ex) | |
handleCause(ExecutionException ex) | |
handleCauseUnchecked(ExecutionException ex) | |
initialize(ConcurrentInitializer initializer) | |
initializeUnchecked(ConcurrentInitializer initializer) | |
putIfAbsent(ConcurrentMap<K, V> map, K key, V value) | |
createIfAbsent(ConcurrentMap<K, V> map, K key, ConcurrentInitializer init) | |
createIfAbsentUnchecked(ConcurrentMap<K, V> map, K key, ConcurrentInitializer init) | |
constantFuture(T value) |
EventUtils 事件工具類
方法 | 描述 |
---|---|
addEventListener(Object eventSource, Class listenerType, L listener) | |
bindEventsToMethod(Object target, String methodName, Object eventSource, Class listenerType, String… eventTypes) |
ExceptionUtils 異常工具類
方法 | 描述 |
---|---|
getMessage(Throwable th) | |
getRootCause(Throwable throwable) | |
getRootCauseMessage(Throwable th) | |
getRootCauseStackTrace(Throwable throwable) | |
getStackFrames(Throwable throwable) | |
getStackTrace(Throwable throwable) | |
getThrowableCount(Throwable throwable) | |
getThrowableList(Throwable throwable) | |
getThrowables(Throwable throwable) | |
hasCause(Throwable chain, Class<? extends Throwable> type) | |
indexOfThrowable(Throwable throwable, Class<? extends Throwable> clazz) indexOfThrowable(Throwable throwable, Class<? extends Throwable> clazz, int fromIndex) | |
indexOfType(Throwable throwable, Class<? extends Throwable> type) indexOfType(Throwable throwable, Class<? extends Throwable> type, int fromIndex) | |
printRootCauseStackTrace(Throwable throwable) printRootCauseStackTrace(Throwable throwable, PrintStream printStream) printRootCauseStackTrace(Throwable throwable, PrintWriter printWriter) | |
removeCommonFrames(List causeFrames, List wrapperFrames) | |
rethrow(Throwable throwable) | |
throwableOfThrowable(Throwable throwable, Class clazz) throwableOfThrowable(Throwable throwable, Class clazz, int fromIndex) | |
throwableOfType(Throwable throwable, Class type) throwableOfType(Throwable throwable, Class type, int fromIndex) | |
wrapAndThrow(Throwable throwable) |
NumberUtils 數字工具類
方法 | 描述 |
---|---|
toInt(String str) int toInt(String str, int defaultValue) | 字符串轉int類型,defaultValue為轉換失敗的默認值 |
toLong(String str) long toLong(String str, long defaultValue) | 字符串轉long類型,defaultValue為轉換失敗的默認值 |
toFloat(String str) float toFloat(String str, float defaultValue) | 字符串轉float類型,defaultValue為轉換失敗的默認值 |
toDouble(String str) toDouble(String str, double defaultValue) toDouble(BigDecimal value) toDouble(BigDecimal value, double defaultValue) | 字符串或BigDecimal轉double類型,defaultValue為轉換失敗的默認值 |
toByte(String str) byte toByte(String str, byte defaultValue) | 字符串轉byte類型,defaultValue為轉換失敗的默認值 |
toShort(String str) short toShort(String str, short defaultValue) | 字符串轉short類型,defaultValue為轉換失敗的默認值 |
toScaledBigDecimal(BigDecimal value) toScaledBigDecimal(BigDecimal value, int scale, RoundingMode roundingMode) toScaledBigDecimal(Float value) toScaledBigDecimal(Float value, int scale, RoundingMode roundingMode) toScaledBigDecimal(Double value) toScaledBigDecimal(Double value, int scale, RoundingMode roundingMode) toScaledBigDecimal(String value) toScaledBigDecimal(String value, int scale, RoundingMode roundingMode) | BigDecimal、Float、Double、String轉換BigDecimal |
createNumber(String str) | 創造一個Number |
createFloat(String str) | 創造一個Float |
createDouble(String str) | 創造一個Double |
createInteger(String str) | 創造一個Integer |
createLong(String str) | 創造一個Long |
createBigInteger(String str) | 創造一個BigInteger |
createBigDecimal(String str) | 創造一個BigDecimal |
min(long… array) min(long a, long b, long c) | 獲取最小值,數據類型可為: long、int、short、byte、double、float |
max(long… array) max(long a, long b, long c) | 獲取最大值,數據類型可為:long、int、short、byte、double、float |
isDigits(String str) | 判斷是否為數字 |
isCreatable(String str) | 通過逐字符分析字符串,判斷其是否符合數字格式 |
isParsable(String str) | 通過逐字符檢查字符串的合法性,支持十進制、十六進制和科學計數法 |
compare(int x, int y) compare(long x, long y) compare(short x, short y) compare(byte x, byte y) | 數字比較 |
ConstructorUtils 構造器工具類
方法 | 描述 |
---|---|
invokeConstructor(Class cls, Object… args) invokeConstructor(Class cls, Object[] args, Class<?>[] parameterTypes) | 執行構造方法創建對象 |
invokeExactConstructor(Class cls, Object… args) invokeExactConstructor(Class cls, Object[] args, Class<?>[] parameterTypes) | 精確執行構造方法創建對象(不進行參數類型轉換) |
getAccessibleConstructor(Class cls, Class<?>… parameterTypes) getAccessibleConstructor(Constructor ctor) | 獲取可訪問的構造器 |
getMatchingAccessibleConstructor(Class cls, Class<?>… parameterTypes) | 獲取匹配到的可訪問的構造器 |
FieldUtils 字段工具類
方法 | 描述 |
---|---|
getField(Class<?> cls, String fieldName) getField(Class<?> cls, String fieldName, boolean forceAccess) | 獲取指定類的屬性 |
getDeclaredField(Class<?> cls, String fieldName) getDeclaredField(Class<?> cls, String fieldName, boolean forceAccess) | 獲取指定類的public屬性 |
getAllFields(Class<?> cls) | 獲取指定類的所有屬性(數組) |
getAllFieldsList(Class<?> cls) | 獲取指定類的所有屬性(集合) |
getFieldsWithAnnotation(Class<?> cls, Class<? extends Annotation> annotationCls) | 獲取標有指定注解的屬性(數組) |
getFieldsListWithAnnotation(Class<?> cls, Class<? extends Annotation> annotationCls) | 獲取標有指定注解的屬性(集合) |
readStaticField(Field field) readStaticField(Field field, boolean forceAccess) readStaticField(Class<?> cls, String fieldName) readStaticField(Class<?> cls, String fieldName, boolean forceAccess) | 獲取指定靜態屬性的值 |
readDeclaredStaticField(Class<?> cls, String fieldName) readDeclaredStaticField(Class<?> cls, String fieldName, boolean forceAccess) | 獲取指定類的靜態屬性的值 |
readField(Field field, Object target) readField(Field field, Object target, boolean forceAccess) readField(Object target, String fieldName) readField(Object target, String fieldName, boolean forceAccess) | 獲取指定屬性的值 |
readDeclaredField(Object target, String fieldName) readDeclaredField(Object target, String fieldName, boolean forceAccess) | 獲取指定對象的屬性的值 |
writeStaticField(Field field, Object value) writeStaticField(Field field, Object value, boolean forceAccess) writeStaticField(Class<?> cls, String fieldName, Object value) writeStaticField(Class<?> cls, String fieldName, Object value, boolean forceAccess) | 靜態屬性設置值 |
writeDeclaredStaticField(Class<?> cls, String fieldName, Object value) writeDeclaredStaticField(Class<?> cls, String fieldName, Object value, boolean forceAccess) | 靜態對象的屬性設置值 |
writeField(Field field, Object target, Object value) writeField(Field field, Object target, Object value, boolean forceAccess) writeField(Object target, String fieldName, Object value) writeField(Object target, String fieldName, Object value, boolean forceAccess) | 屬性設置值 |
removeFinalModifier(Field field) | 用于移除字段的final修飾符。 |
writeDeclaredField(Object target, String fieldName, Object value) writeDeclaredField(Object target, String fieldName, Object value, boolean forceAccess) | 對象的屬性設置值 |
InheritanceUtils 繼承工具類
方法 | 描述 |
---|---|
distance(Class<?> child, Class<?> parent) | 獲取兩個類的繼承層級數,無繼承關系返回 -1 |
MethodUtils 方法工具類
方法 | 描述 |
---|---|
invokeMethod(Object object, String methodName) invokeMethod(Object object, boolean forceAccess, String methodName) invokeMethod(Object object, String methodName, Object… args) invokeMethod(Object object, boolean forceAccess, String methodName, Object… args) invokeMethod(Object object, boolean forceAccess, String methodName, Object[] args, Class<?>[] parameterTypes) invokeMethod(Object object, String methodName, Object[] args, Class<?>[] parameterTypes) | 執行對象的指定方法 ,forceAccess為是否強制執行方法 |
invokeExactMethod(Object object, String methodName) invokeExactMethod(Object object, String methodName, Object… args) invokeExactMethod(Object object, String methodName, Object[] args, Class<?>[] parameterTypes) | 調用pubclic修飾的方法 |
invokeExactStaticMethod(Class<?> cls, String methodName, Object[] args, Class<?>[] parameterTypes) invokeExactStaticMethod(Class<?> cls, String methodName, Object… args) | 執行對象的指定靜態方法,要求參數類型與靜態方法定義完全匹配。 |
invokeStaticMethod(Class<?> cls, String methodName, Object... args) invokeStaticMethod(Class<?> cls, String methodName, Object[] args, Class<?>[] parameterTypes) | 執行對象的指定靜態方法 |
getAccessibleMethod(Class<?> cls, String methodName, Class<?>… parameterTypes) getAccessibleMethod(Method method) | 找到一個完全匹配的方法(即名稱和參數類型完全匹配) |
getMatchingAccessibleMethod(Class<?> cls, String methodName, Class<?>… parameterTypes) | 獲取一個類中符合特定名稱和參數類型的可訪問方法 |
getMatchingMethod(Class<?> cls, String methodName, Class<?>… parameterTypes) | 獲取一個類中符合特定名稱和參數類型的方法 |
getOverrideHierarchy(Method method, ClassUtils.Interfaces interfacesBehavior) | 用于獲取類中方法的覆蓋層級關系。 |
getMethodsWithAnnotation(Class<?> cls, Class<? extends Annotation> annotationCls) getMethodsWithAnnotation(Class<?> cls, Class<? extends Annotation> annotationCls, boolean searchSupers, boolean ignoreAccess) | 獲取指定注解的方法(數組) |
getMethodsListWithAnnotation(Class<?> cls, Class<? extends Annotation> annotationCls) getMethodsListWithAnnotation(Class<?> cls, Class<? extends Annotation> annotationCls, boolean searchSupers, boolean ignoreAccess) | 獲取指定注解的方法(集合) |
getAnnotation(Method method, Class annotationCls, boolean searchSupers, boolean ignoreAccess) | 獲取指定方法的注解 |
TypeUtils 數據類型工具類
方法 | 描述 |
---|---|
containsTypeVariables(Type type) | |
determineTypeArguments(Class<?> cls, ParameterizedType superParameterizedType) | |
equals(Type type1, Type type2) | |
genericArrayType(Type componentType) | |
getArrayComponentType(Type type) | |
getImplicitBounds(TypeVariable<?> typeVariable) | |
getImplicitLowerBounds(WildcardType wildcardType) | |
getImplicitUpperBounds(WildcardType wildcardType) | |
getRawType(Type type, Type assigningType) | |
getTypeArguments(ParameterizedType type) | |
getTypeArguments(Type type, Class<?> toClass) | |
isArrayType(Type type) | |
isAssignable(Type type, Type toType) | |
isInstance(Object value, Type type) | |
normalizeUpperBounds(Type[] bounds) | |
parameterize(Class<?> rawClass, Map |
CalendarUtils 日歷工具類
方法 | 描述 |
---|---|
INSTANCE | 獲取CalendarUtils實例,初始化當前日期 |
getDayOfMonth() | 獲取日 |
getMonth() | 獲取月,從0開始 |
getYear() | 獲取年 |
DateFormatUtils 日期格式工具類
方法 | 描述 |
---|---|
formatUTC(long millis, String pattern) formatUTC(Date date, String pattern) formatUTC(long millis, String pattern, Locale locale) formatUTC(Date date, String pattern, Locale locale) | UTC日期格式化操作 |
format(long millis, String pattern) format(Date date, String pattern) format(Calendar calendar, String pattern) format(long millis, String pattern, TimeZone timeZone) format(Date date, String pattern, TimeZone timeZone) format(Calendar calendar, String pattern, TimeZone timeZone) format(long millis, String pattern, Locale locale) format(Date date, String pattern, Locale locale) format(Calendar calendar, String pattern, Locale locale) format(long millis, String pattern, TimeZone timeZone, Locale locale) format(Date date, String pattern, TimeZone timeZone, Locale locale) format(Calendar calendar, String pattern, TimeZone timeZone, Locale locale) | 毫秒、日期、日歷格式化操作 |
DurationFormatUtils 時間段格式化工具類
方法 | 描述 |
---|---|
formatDurationHMS(long durationMillis) | 時間段格式化,固定格式:HH:mm:ss.SSS |
formatDurationISO(long durationMillis) | 時間段格式化,固定格式:‘P’yyyy’Y’M’M’d’DT’H’H’m’M’s.SSS’S’ |
formatDuration(long durationMillis, String format) formatDuration(long durationMillis, String format, boolean padWithZeros) | 時間段格式化 |
formatDurationWords(long durationMillis, boolean leading, boolean trailing) | 時間段轉換為易于閱讀的文本格式;leading:前置為0時是否省略;trailing:后置為0時是否省略 |
formatPeriodISO(long startMillis, long endMillis) | 開始~結束時間段格式化,固定格式:‘P’yyyy’Y’M’M’d’DT’H’H’m’M’s.SSS’S’ |
formatPeriod(long startMillis, long endMillis, String format) formatPeriod(long startMillis, long endMillis, String format, boolean padWithZeros, TimeZone timezone) | 開始~結束時間段格式化 |
DurationUtils 時間段工具類
方法 | 描述 |
---|---|
accept(FailableBiConsumer<Long, Integer, T> consumer, Duration duration) | 用于處理時間單位轉換邏輯 |
getNanosOfMiili(Duration duration) | 用于獲取 Duration 對象中納秒部分的值 |
isPositive(Duration duration) | 斷給定的持續時間是否為正數(即大于0)。 |
toDuration(long amount, TimeUnit timeUnit) | 獲取時間段對象 |
toMillisInt(Duration duration) | 將 Duration 轉換為毫秒。 |
zeroIfNull(Duration duration) | 如何Duration 為空值(null)時轉換為零時長(0毫秒)。 |
DateUtils 日期工具類
方法 | 描述 |
---|---|
isSameDay(Date date1, Date date2) isSameDay(Calendar cal1, Calendar cal2) | 判斷兩日期或日歷是否是同一天 |
isSameInstant(Date date1, Date date2) isSameInstant(Calendar cal1, Calendar cal2) | 判斷兩日期或日歷是否是同一時間(時間相等) |
isSameLocalTime(Calendar cal1, Calendar cal2) | 判斷兩個日歷是否相等 |
parseDate(String str, String… parsePatterns) parseDate(String str, Locale locale, String… parsePatterns) | 解析日期字符串,可同時配置多個日期格式,不符合格式時忽略或進位(例如:09-31解析為10月1日) |
parseDateStrictly(String str, String… parsePatterns) parseDateStrictly(String str, Locale locale, String… parsePatterns) | 嚴格解析日期字符串,不符合格式拋異常 |
addYears(Date date, int amount) addMonths(Date date, int amount) addWeeks(Date date, int amount) addDays(Date date, int amount) addHours(Date date, int amount) addMinutes(Date date, int amount) addSeconds(Date date, int amount) addMilliseconds(Date date, int amount) | 年、月、周、日、時、分、秒、毫秒計算,增加或減少指定數量 |
setYears(Date date, int amount) setMonths(Date date, int amount) setDays(Date date, int amount) setHours(Date date, int amount) setMinutes(Date date, int amount) setSeconds(Date date, int amount) setMilliseconds(Date date, int amount) | 設置年、月、周、日、時、分、秒、毫秒的值 |
toCalendar(Date date) toCalendar(Date date, TimeZone tz) | 日期轉日歷 |
round(Date date, int field) round(Calendar date, int field) round(Object date, int field) | 日期或日歷四舍五入處理 |
truncate(Date date, int field) truncate(Calendar date, int field) truncate(Object date, int field) | 日期或日歷截斷處理 |
ceiling(Date date, int field) ceiling(Calendar date, int field) ceiling(Object date, int field) | 日期或日歷向上取舍處理 |
iterator(Date focus, int rangeStyle) iterator(Calendar focus, int rangeStyle) iterator(Object focus, int rangeStyle) | 獲取指定范圍的日歷迭代器 |
getFragmentInMilliseconds(Date date, int fragment) getFragmentInSeconds(Date date, int fragment) getFragmentInMinutes(Date date, int fragment) getFragmentInHours(Date date, int fragment) getFragmentInDays(Date date, int fragment) getFragmentInMilliseconds(Calendar calendar, int fragment) getFragmentInSeconds(Calendar calendar, int fragment) getFragmentInMinutes(Calendar calendar, int fragment) getFragmentInHours(Calendar calendar, int fragment) getFragmentInDays(Calendar calendar, int fragment) | 獲取指定日期或日歷的日、時、分、秒、毫秒的值 |
truncatedEquals(Calendar cal1, Calendar cal2, int field) truncatedEquals(Date date1, Date date2, int field) | 判斷兩日期或日歷的指定屬性(年月日時分秒等)是否相等 |
truncatedCompareTo(Calendar cal1, Calendar cal2, int field) truncatedCompareTo(Date date1, Date date2, int field) | 判斷兩日期或日歷的指定屬性(年月日時分秒等)的大小 |