commons-lang3

概述

提供了許多幫助程序實用程序,特別是字符串操作方法,基本數值方法,對象反射,并發,創建和序列化以及系統屬性。

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)
判斷兩日期或日歷的指定屬性(年月日時分秒等)的大小

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/98415.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/98415.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/98415.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

vue-amap組件呈現的效果圖如何截圖

我們用amap呈現了幾個圖層后&#xff0c;用戶覺得效果很好&#xff0c;想點個按鈕直接將這個畫面截圖下來。 首先我們用Canvas的toDataURL方法可以直接獲取圖像數據&#xff0c;但是實踐發現截圖后是空白的。 原因在警告中&#xff1a; 地圖的WebGL context 的preserveDrawin…

杰理燒錄ERROR: Data error after erasing, address = 0x430000

把CONFIG_BOARD_DEV_KIT關閉&#xff0c;打開CONFIG_BOARD_DEVELOP

超越自動化:為什么說供應鏈的終局是“AI + 人類專家”的混合智能?

摘要&#xff1a;當前&#xff0c;圍繞AI賦能供應鏈的討論&#xff0c;大多聚焦于“自動化”帶來的降本增效。然而&#xff0c;這僅僅是第一層。當我們的系統面對“黑天鵝”事件時&#xff0c;一個過度依賴自動化的“脆弱”系統可能會瞬間崩潰。本文旨在深入探討供應鏈演進的下…

Spine文件導入Unity流程

1、轉為Json文件導出 2、對文件進行處理 3、添加Spine的Package包 一、Spine文件導出設置 1、選擇Json文件 2、選擇導出所在路徑 3、點擊打包設置 更改圖集擴展名 二、文件導出后的設置 1、修改Json的Spine版本 這里必須是3.8 三、下載Unity支持包 1、鏈接 spine-unit…

Docker Compose healthcheck介紹(監控容器中服務的實際健康狀態)數據庫健康檢查pg_isready

文章目錄**功能概述****核心參數詳解****配置示例****1. 基礎用法****2. 使用數據庫健康檢查****3. 結合 depends_on 控制啟動順序****高級用法****1. 自定義健康檢查腳本****2. 多種健康檢查類型**- **HTTP 檢查**&#xff1a;- **TCP 端口檢查**&#xff1a;- **Redis 檢查**…

算法之雙指針

在算法設計中&#xff0c;雙指針是一種高效優化工具&#xff0c;主要用于線性數據結構&#xff08;如數組&#xff08;數組劃分和數組分塊常用&#xff09;、鏈表、字符串&#xff09;&#xff0c;通過控制兩個指針的移動軌跡&#xff0c;將原本需要 O (n) 時間復雜度的問題優化…

冪等性、順序性保障以及消息積壓

冪等性 概念 在應用程序中&#xff0c;冪等性就是指對一個系統進行重復調用&#xff08;相同參數&#xff09;&#xff0c;不論請求多少次&#xff0c;這些請求對系統的影響都是相同的效果. 比如數據庫的select操作.不同時間兩次查詢的結果可能不同&#xff0c;但是這個操作…

算法訓練營DAY58 第十一章:圖論part08

拓撲排序精講 卡碼網&#xff1a;117. 軟件構建(opens new window) 題目描述&#xff1a; 某個大型軟件項目的構建系統擁有 N 個文件&#xff0c;文件編號從 0 到 N - 1&#xff0c;在這些文件中&#xff0c;某些文件依賴于其他文件的內容&#xff0c;這意味著如果文件 A 依…

如何在Python中使用正則表達式?

在Python中使用正則表達式主要通過內置的re模塊實現。正則表達式用于匹配、查找、替換字符串中的特定模式&#xff0c;是處理文本的強大工具。以下是使用正則表達式的核心方法和示例&#xff1a; 一、基本用法步驟 導入re模塊&#xff1a;import re定義正則表達式模式&#xff…

用 Trae 玩轉 Bright Data MCP 集成

引言 在自動化與智能體浪潮中&#xff0c;Trae 以“開箱即用、所見即所得”的工具編排體驗&#xff0c;成為個人與團隊落地 AI 工作流的高效選擇。本篇將以 Trae 為主角&#xff0c;展示如何通過最少配置完成與 Bright Data MCP 的對接&#xff0c;并快速構建一個可用、可觀測…

大數據Spark(六十三):RDD-Resilient Distributed Dataset

文章目錄 RDD-Resilient Distributed Dataset 一、RDD五大特性 二、RDD創建方式 RDD-Resilient Distributed Dataset 在 Apache Spark 編程中&#xff0c;RDD&#xff08;Resilient Distributed Dataset&#xff0c;彈性分布式數據集&#xff09;是 Spark Core 中最基本的數…

java,通過SqlSessionFactory實現動態表明的插入和查詢(適用于一個版本一個表的場景)

1,測試實體類package org.springblade.sample.test;import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data;/*** Author: 肖揚* CreateTime: 2025-09-05* Description: SqlSessionFactoryTest測試* Version: 1.0*/ Data TableName("session_factory_…

鷓鴣云光儲流程系統全新升級:視頻指引與分階段模塊使用指南

鷓鴣云光儲流程系統近日完成重要更新&#xff0c;全面優化了操作指引體系&#xff0c;為用戶帶來更高效、直觀的使用體驗。本次升級重點推出了全套功能操作視頻&#xff0c;并明確了不同業務階段的核心模塊使用指南&#xff0c;助力用戶快速上手、提升工作效率。全覆蓋視頻操作…

ChatGPT 協作調優:把 SQL 查詢從 5s 優化到 300ms 的全過程

ChatGPT 協作調優&#xff1a;把 SQL 查詢從 5s 優化到 300ms 的全過程 &#x1f31f; Hello&#xff0c;我是摘星&#xff01; &#x1f308; 在彩虹般絢爛的技術棧中&#xff0c;我是那個永不停歇的色彩收集者。 &#x1f98b; 每一個優化都是我培育的花朵&#xff0c;每一個…

復雜計算任務的智能輪詢優化實戰

目錄 復雜計算任務的智能輪詢優化實戰 一、輪詢方法介紹 二、三種輪詢優化策略 1、用 setTimeout 替代 setInterval 2、輪詢時間指數退避 3、標簽頁可見性檢測&#xff08;Page Visibility API&#xff09; 三、封裝一個簡單易用的智能輪詢方法 四、結語 作者&#xff…

Java開發中常用CollectionUtils方式,以及Spring中CollectionUtils常用方法示例

場景 Java開發中常用的CollectionUtils 一、Spring Framework的CollectionUtils 包路徑&#xff1a;org.springframework.util.CollectionUtils 核心方法&#xff1a; isEmpty(Collection<?> coll) List<String> list null; boolean empty CollectionUtil…

人工智能學習:Transformer結構(文本嵌入及其位置編碼器)

一、輸入部分介紹 輸入部分包含: 編碼器源文本嵌入層及其位置編碼器 解碼器目標文本嵌入層及其位置編碼器 在transformer的encoder和decoder的輸入層中,使用了Positional Encoding,使得最終的輸入滿足: 這里,input_embedding是通過常規embedding層,將每一個詞的…

? 肆 ? ? 默認安全建設方案:c-1.增量風險管控

&#x1f44d;點「贊」&#x1f4cc;收「藏」&#x1f440;關「注」&#x1f4ac;評「論」 在金融科技深度融合的背景下&#xff0c;信息安全已從單純的技術攻防擴展至架構、合規、流程與創新的系統工程。作為一名從業十多年的老兵&#xff0c;將系統闡述數字銀行安全體系的建設…

第二課、熟悉Cocos Creator 編輯器界面

本文主要介紹Cocos Creator 編輯器界面中幾個常規的面板功能&#xff0c;讓新手了解編輯器界面中常規的面板功能&#xff0c;更好的使用Cocos Creator 編輯器。一、編輯器界面常規面板劃分Cocos Creater編輯器默認樣式如上&#xff0c;主要包含&#xff1a;1、工具欄&#xff0…

Elixir通過Onvif協議控制IP攝像機,擴展ExOnvif的攝像頭連續移動功能 ContinuousMove

Elixir 通過Onvif 對IP設備進行控制時&#xff0c;可以使用 ExOnvif 庫。ExOnvif官方文檔 此文章僅提供了ContinuousMove的控制方式及示例。 Elixir Onvif協議控制IP設備的其他命令&#xff0c;可以參考以下鏈接 絕對移動 【AbsoluteMove】 調用指定預置位 【GotoPreset】 …