commons-lang包常用工具類的基本使用
commons-lang包常用工具類的基本使用
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()// 獲取使用者家目錄
相關文章
- Java中的基本型別包裝類 Integer 類該怎麼使用?Java型別
- 【Java】基本型別包裝類Java型別
- Java 包裝類和基本型別Java型別
- java學習之基本包裝類Java
- 14.Java-Arrays(類)、基本型別包裝類、Integer(類)Java型別
- java 常用工具類Java
- java常用工具類Java
- 標準庫 fmt 包的基本使用
- 二十八、基本型別包裝類型別
- 常見物件-基本型別包裝類物件型別
- java基本資料型別包裝類Java資料型別
- IOS CoreLocation中CLLocationManager類的基本使用iOS
- 基本資料型別及其包裝類(一)資料型別
- 基本資料型別及其包裝類(二)資料型別
- Android常用工具類的封裝Android封裝
- java 常用工具類 (值得收藏)Java
- java 常用工具類 方法整理Java
- Java常用工具類方法整理Java
- Java-API-基本資料型別包裝類JavaAPI資料型別
- (2)Java基本資料型別和包裝類Java資料型別
- 3.3 Java 中必須瞭解的常用類(常用工具類)Java
- 全網最全Flutter常用工具類Flutter
- ExoPlayer基本使用和關鍵類流程
- JAVA API:ArrayList(泛型類)基本使用JavaAPI泛型
- hanlp自然語言處理包的基本使用--pythonHanLP自然語言處理Python
- 【Java】基本資料、包裝類間轉換與處理Java
- [Java] 基本資料、包裝類間轉換與處理Java
- 【Java】基本資料型別包裝類面試題之一Java資料型別面試題
- Java 常用工具類 Collections 原始碼分析Java原始碼
- 【web安全】程式設計常用工具類Web程式設計
- DriveInfo類的基本操作
- FileInfo類的基本操作
- File類的基本操作
- JUC包中原子類使用及其原理
- java json解析jar包基本使用記錄JavaJSONJAR
- 專案開發必備,常用工具類
- 淺談 Dart 類與類的基本方法Dart
- 類與類之間的基本關係