1. 程式人生 > >commons-lang3工具類學習(一)

commons-lang3工具類學習(一)

一、ArchUtils

java執行環境的系統資訊工具類

  1. getArch();// 獲取電腦處理器體系結構 32 bit、64 bit、unknown

  2. getType();// 返回處理器型別 x86、ia64、ppc、unknown

  3. is32Bit();// 檢查處理器是否為32位

  4. is64Bit();// 檢查處理器是否為64位

  5. isIA64();// 檢查是否是英特爾安騰處理器型別

  6. isPPC();// 檢查處理器是否是電源PC型別

  7. isX86();// 檢查處理器是否是x86型別

二、ArrayUtils

陣列工具類

add(boolean[] array, boolean element)

 將給定的資料新增到指定的陣列中,返回一個新的陣列

  1. ArrayUtils.add(null, true) = [true]

  2. ArrayUtils.add([true], false) = [true, false]

  3. ArrayUtils.add([true, false], true) = [true, false, true]

add(boolean[] array, int index, boolean element) 將給定的資料新增到指定的陣列下標中,返回一個新的陣列。

  1. ArrayUtils.add(null, 0, true) = [true]

  2. ArrayUtils.add([true], 0, false) = [false, true]

  3. ArrayUtils.add([false], 1, true) = [false, true]

  4. ArrayUtils.add([true, false], 1, true) = [true, true, false]

byte, int, char, double, float, int, long ,short, T[] 同理

addAll(boolean[] array1, boolean... array2) 將給定的多個數據新增到指定的陣列中,返回一個新的陣列

  1. ArrayUtils.addAll(array1, null) = cloned copy of array1

  2. ArrayUtils.addAll(null, array2) = cloned copy of array2

  3. ArrayUtils.addAll([], []) = []

byte, int, char, double, float, int, long ,short, T[] 同理

clone(boolean[] array) 複製陣列並返回 結果陣列為空將返回空

byte, int, char, double, float, int, long ,short, T[] 同理

contains(boolean[] array, boolean valueToFind) 檢查該資料在該陣列中是否存在,返回一個boolean值

byte, int, char, double, float, int, long ,short, Object 同理

getLength(Object array) 返回該陣列長度

  1. ArrayUtils.getLength(null) = 0

  2. ArrayUtils.getLength([]) = 0

  3. ArrayUtils.getLength([null]) = 1

  4. ArrayUtils.getLength([true, false]) = 2

  5. ArrayUtils.getLength([1, 2, 3]) = 3

  6. ArrayUtils.getLength(["a", "b", "c"]) = 3

hashCode(Object array) 返回該陣列的雜湊Code碼

indexOf(boolean[] array, boolean valueToFind) 從陣列的第一位開始查詢該陣列中是否有指定的數值,存在返回index的數值,否則返回-1

indexOf(boolean[] array, boolean valueToFind, int startIndex) 從陣列的第startIndex位開始查詢該陣列中是否有指定的數值,存在返回index的數值,否則返回-1

byte, int, char, double, float, int, long ,short 同理

insert(int index, boolean[] array, boolean... values) 向指定的位置往該陣列新增指定的元素,返回一個新的陣列

  1. ArrayUtils.insert(index, null, null) = null

  2. ArrayUtils.insert(index, array, null) = cloned copy of 'array'

  3. ArrayUtils.insert(index, null, values) = null

byte, int, char, double, float, int, long ,short, T[] 同理

isEmpty(boolean[] array) 判斷該陣列是否為空,返回一個boolean值

byte, int, char, double, float, int, long ,short, Object 同理

isNotEmpty(boolean[] array) 判斷該陣列是否為空,而不是null

byte, int, char, double, float, int, long ,short, T[] 同理

isSameLength(boolean[] array1, boolean[] array2) 判斷兩個陣列的長度是否一樣,當陣列為空視長度為0。返回一個boolean值

isSameType(Object array1, Object array2) 判斷兩個陣列的型別是否一樣,返回一個boolean值

isSorted(boolean[] array) 判斷該陣列是否按照自然排列順序排序,返回一個boolean值

byte, int, char, double, float, int, long ,short, T[] 同理

isSorted(T[] array, Comparator<T> comparator) 判斷該陣列是否按照比較器排列順序排序,返回一個boolean值

lastIndexOf(boolean[] array, boolean valueToFind) 從陣列的最後一位開始往前查詢該陣列中是否有指定的數值,存在返回index的數值,否則返回-1

lastIndexOf(boolean[] array, boolean valueToFind, int startIndex) 從陣列的最後startIndex位開始往前查詢該陣列中是否有指定的數值,存在返回index的數值,否則返回-1

byte, int, char, double, float, int, long ,short, Object 同理

nullToEmpty(boolean[] array) 將null轉換為空的陣列,如果陣列不為null,返回原陣列,如果陣列為null,返回一個空的陣列

byte, int, char, double, float, int, long ,short, Object, T 同理

remove(boolean[] array, int index) 刪除該陣列指定位置上的元素,返回一個新的陣列,所有後續元素左移(下標減1)

  1. ArrayUtils.remove([true], 0) = []

  2. ArrayUtils.remove([true, false], 0) = [false]

  3. ArrayUtils.remove([true, false], 1) = [true]

  4. ArrayUtils.remove([true, true, false], 1) = [true, false]

byte, int, char, double, float, int, long ,short, T[] 同理

removeAll(boolean[] array, int... indices) 刪除該陣列多個指定位置上的元素,返回一個新的陣列,所有後續元素左移(下標減1)

  1. ArrayUtils.removeAll([true, false, true], 0, 2) = [false]

  2. ArrayUtils.removeAll([true, false, true], 1, 2) = [true]

byte, int, char, double, float, int, long ,short, T[] 同理

removeAllOccurences(boolean[] array, boolean element) 從該陣列中刪除指定的元素,返回一個新的陣列

byte, int, char, double, float, int, long ,short, T[] 同理

removeElement(boolean[] array, boolean element) 從該陣列中刪除指定的元素,返回一個新的陣列

byte, int, char, double, float, int, long ,short, T[] 同理

removeElements(boolean[] array, boolean... values) 從該陣列中刪除指定數量的元素,返回一個新的陣列

  1. ArrayUtils.removeElements(null, true, false) = null

  2. ArrayUtils.removeElements([], true, false) = []

  3. ArrayUtils.removeElements([true], false, false) = [true]

  4. ArrayUtils.removeElements([true, false], true, true) = [false]

  5. ArrayUtils.removeElements([true, false, true], true) = [false, true]

  6. ArrayUtils.removeElements([true, false, true], true, true) = [false]

byte, int, char, double, float, int, long ,short, T[] 同理

reverse(boolean[] array) 陣列反轉

reverse(boolean[] array, int startIndexInclusive, int endIndexExclusive) 陣列從指定位置區間進行反轉

byte, int, char, double, float, int, long ,short, Object 同理

shuffle(boolean[] array) 把陣列中的元素按隨機順序重新排列

byte, int, char, double, float, int, long ,short, Object 同理

subarray(boolean[] array, int startIndexInclusive, int endIndexExclusive) 擷取陣列,按指定位置區間擷取並返回一個新的陣列

byte, int, char, double, float, int, long ,short, T[] 同理

swap(boolean[] array, int offset1, int offset2) 指定該陣列的兩個位置的元素交換進行交換

  1. ArrayUtils.swap([1, 2, 3], 0, 2) -> [3, 2, 1]

  2. ArrayUtils.swap([1, 2, 3], 0, 0) -> [1, 2, 3]

  3. ArrayUtils.swap([1, 2, 3], 1, 0) -> [2, 1, 3]

  4. ArrayUtils.swap([1, 2, 3], 0, 5) -> [1, 2, 3]

  5. ArrayUtils.swap([1, 2, 3], -1, 1) -> [2, 1, 3]

byte, int, char, double, float, int, long ,short, Object 同理

toArray(T... items) 建立陣列

  1. String[] array = ArrayUtils.toArray("1", "2");

  2. String[] emptyArray = ArrayUtils.<String>toArray();

toMap(Object[] array) 將二維陣列轉換成Map並返會Map

  1. Map colorMap = ArrayUtils.toMap(new String[][] {

  2. {"RED", "#FF0000"},

  3. {"GREEN", "#00FF00"},

  4. {"BLUE", "#0000FF"}}

  5. );

toObject(boolean[] array) 將基本型別陣列轉換成物件型別陣列並返回

byte, int, char, double, float, int, long ,short 同理

toPrimitive(Boolean[] array) 將物件型別陣列轉換成基本型別陣列並返回

byte, int, char, double, float, int, long ,short 同理

toString(Object array) 將陣列轉換為string字串並返回

toStringArray(Object[] array) 將Object陣列轉換為String陣列型別