public abstract class ArrayUtil extends Object
| 限定符和类型 | 字段和说明 |
|---|---|
static Integer[] |
EMPTY_INTEGERS
长度为0的Integer数组
|
static int[] |
EMPTY_INTS
长度为0的int数组
|
static Object[] |
EMPTY_OBJECTS
长度为0的对象数组
|
static String[] |
EMPTY_STRINGS
长度为0的字符串数组
|
| 构造器和说明 |
|---|
ArrayUtil() |
| 限定符和类型 | 方法和说明 |
|---|---|
static <E> E[] |
filter(E[] array,
Predicate<E> matcher)
过滤指定的数组,获得符合条件的元素数组
|
static int |
getDimension(Object array)
获取指定数组元素的"维度",如果数组为普通的一维数组,则返回1;如果为二维数组,则返回2;以此类推...
|
static String |
getInSQL(Object array,
boolean isString)
将指定的数组拼接为InSQL子句并返回,内部将会根据元素个数来判断返回“=”语句还是“IN”语句
如果数组为空,将会引发异常 如果数组元素只有一个,将会返回“=1”或“='1'” 如果数组元素有多个,将会返回“ IN (1, 2, 5)”或“ IN ('1', '2', '5')” |
static String |
getInSQL(Object array,
boolean isInclude,
boolean isString)
将指定的数组拼接为InSQL子句并返回,内部将会根据元素个数来判断返回“=”语句还是“IN”语句
如果数组为空,将会引发异常 如果数组元素只有一个,将会返回“=1”或“='1'” 如果数组元素有多个,将会返回“ IN (1, 2, 5)”或“ IN ('1', '2', '5')” |
static StringBuilder |
getInSQL(StringBuilder sb,
Object array,
boolean isInclude,
boolean isString)
将指定字符串数组拼接为InSQL子句,方法将会根据元素个数来判断内容为“=”语句还是“IN”语句
如果数组为空,将会引发异常 如果数组元素只有一个,拼接内容为“=1”或“='1'” 如果数组元素有多个,拼接内容为“ IN (1, 2, 5)”或“ IN ('1', '2', '5')” |
static int |
getLength(Object array)
获取指定数组元素的长度,如果指定的参数为null或长度为0,则返回0
如果指定参数不是数组类型,将引发异常 |
static int |
getLength(Object array,
boolean triggerError)
获取指定数组元素的长度,如果数组为null将返回0,如果不是数组类型,将引发异常
|
static boolean |
hasLength(Object array)
判断指定数组是否不为null并且数组长度
length > 0,如果是,则返回true如果指定参数不为null,也不是数组类型,则引发异常 |
static boolean |
in(int value,
int... array)
检测指定的整数数组中是否存在指定的整数值
|
static int |
indexOfInterval(Object array,
double toCompare,
Boolean ascOrDesc)
查找指定数值在已经排序好的区间临界值数组中的区间索引(本方法主要用于兼容原始数据类型)。
|
static <T extends Comparable<T>> |
indexOfInterval(T[] array,
T toCompare,
Boolean ascOrDesc)
查找指定对象在已经排序好的区间临界值数组中的区间索引。
|
static <T> boolean |
ins(T value,
T... array)
检测指定的数组中是否存在指定的值
|
static boolean |
isArray(Object obj)
判断指定对象是否为数组类型
|
static boolean |
isPrimitiveArray(Object array)
判断指定对象是否是一个原始类型的数组(例如:int[]、float[]、char[]、double[]等)
|
static String |
join(Object array,
String delimiter)
以指定的分隔符拼接数组元素并返回拼接后的字符串
如果数组为空,将会引发异常 |
static StringBuilder |
join(StringBuilder sb,
Object array,
String delimiter)
以指定的分隔符拼接数组元素,并追加到指定的StringBuilder中
|
static Object[] |
of(Object... elements)
快捷创建 Object 数组
|
static <E> E[] |
ofNullable(E element)
将单个元素构造成一个仅包含该元素的数组
|
static <T> T[] |
toArray(Collection<? extends T> collection,
Class<T> type)
将指定的集合转为对应的数组
|
static String |
toFinalString(Object array)
迭代数组元素并返回迭代字符串,例如:“[e1, e2, e3, [e4_1, e4_2, e4_3, e4_4]]”
本方法可以迭代多维数组,内部采用递归算法 |
static StringBuilder |
toFinalString(StringBuilder sb,
Object array)
迭代数组元素并将迭代字符串追加至StringBuilder中,追加字符串形如:“[e1, e2, e3, [e4_1, e4_2, e4_3, e4_4]]
本方法可以迭代多维数组,内部采用递归算法 |
static String |
toString(Object array)
返回指定数组对象的字符串形式
如果 array是一个数组,则迭代其元素返回字符串,如“[e1, e2, e3, e4]”如果 array不是一个数组,则直接调用String.valueOf()方法返回 |
static Object |
unique(Object array)
移除数组里的元素唯一化。
|
static Object |
unique(Object array,
boolean forceNewCopy)
移除数组里的重复元素,使其唯一化。
|
public static final Object[] EMPTY_OBJECTS
public static final String[] EMPTY_STRINGS
public static final int[] EMPTY_INTS
public static final Integer[] EMPTY_INTEGERS
public static final boolean isArray(Object obj)
obj - 指定的对象public static StringBuilder join(StringBuilder sb, Object array, String delimiter)
sb - 指定的StringBuilder(如果为null,则内部自动创建)array - 指定的数组delimiter - 指定的分隔符public static String join(Object array, String delimiter)
array - 指定的数组对象delimiter - 指定的分隔符public static StringBuilder getInSQL(StringBuilder sb, Object array, boolean isInclude, boolean isString)
sb - 指定的StringBuilderarray - 指定的任意数组isInclude - 指示IN SQL是包含还是排除查询,如果是包含(true)将返回=、IN,如果是排除(false)将返回!=、NOT INisString - 指示元素是否以字符串形式参与InSQL语句。如果为true,将会在每个元素两侧加上单引号"'"public static String getInSQL(Object array, boolean isInclude, boolean isString)
array - 指定的数组isInclude - 指示IN SQL是包含还是排除查询,如果是包含(true)将返回=、IN,如果是排除(false)将返回!=、NOT INisString - 指示元素是否以字符串形式参与InSQL语句。如果为true,将会在每个元素两侧加上单引号"'"public static String getInSQL(Object array, boolean isString)
array - 指定的数组isString - 指示元素是否以字符串形式参与InSQL语句。如果为true,将会在每个元素两侧加上单引号"'"public static String toString(Object array)
array是一个数组,则迭代其元素返回字符串,如“[e1, e2, e3, e4]”array不是一个数组,则直接调用String.valueOf()方法返回public static StringBuilder toFinalString(StringBuilder sb, Object array)
sb - 指定的StringBuilderarray - 指定的数组对象public static String toFinalString(Object array)
array - 指定的数组对象public static final boolean hasLength(Object array)
length > 0,如果是,则返回truearray - 指定的数组public static final int getLength(Object array, boolean triggerError)
array - 指定的数组triggerError - 当数组为null或数组长度为0时,是否触发异常,如果为true,则触发异常public static final int getLength(Object array)
array - 指定的数组对象public static final int getDimension(Object array)
array - 指定的数组对象public static final boolean isPrimitiveArray(Object array)
array - 指定的对象public static final boolean in(int value,
int... array)
public static final <T> boolean ins(T value,
T... array)
public static final <T extends Comparable<T>> int indexOfInterval(T[] array, T toCompare, Boolean ascOrDesc) throws IllegalArgumentException
数组array 必须预先排序好,可以是升序或降序。例如:[5, 10, 20, 50, 100] 。
此时,如果 toCompare = 4 ,则返回 -1;如果 toCompare = 5 ,则返回 0;如果 toCompare = 12 ,则返回 1。
如果数组中存在相等的值,则返回最靠近最大值的区间索引。
array - 区间临界值数组toCompare - 指定的对象ascOrDesc - 指定区间临界值数组的排序方式: true 表示升序, false 表示 降序;null 则自动根据数组中前两个元素的比较结果智能判断排序方式IllegalArgumentException - 如果数组前两个元素的大小相等,则抛出该异常public static final int indexOfInterval(Object array, double toCompare, Boolean ascOrDesc) throws IllegalArgumentException
数组array 必须预先排序好,可以是升序或降序。例如:[5, 10, 20, 50, 100] 。
此时,如果 toCompare = 4 ,则返回 -1;如果 toCompare = 5 ,则返回 0;如果 toCompare = 12 ,则返回 1。
如果数组中存在相等的值,则返回最靠近最大值的区间索引。
array - 区间临界值数组toCompare - 指定的对象ascOrDesc - 指定区间临界值数组的排序方式: true 表示升序, false 表示 降序;null 则自动根据数组中前两个元素的比较结果智能判断排序方式IllegalArgumentException - 如果数组前两个元素的大小相等,则抛出该异常public static Object unique(Object array, boolean forceNewCopy)
array - 指定的数组对象forceNewCopy - 是否必须返回新的数组副本。如果为 false,在没有找到重复元素时,将会直接返回原数组 arraypublic static Object unique(Object array)
array - 指定的数组对象unique(Object, boolean)public static final <T> T[] toArray(Collection<? extends T> collection, Class<T> type)
public static final <E> E[] filter(E[] array,
Predicate<E> matcher)
array - 指定的数组matcher - 只有经过该过滤器后返回 true 的元素才符合条件public static final <E> E[] ofNullable(E element)
element - 指定的元素值Copyright © 2019. All rights reserved.