add method

This commit is contained in:
Looly 2020-08-07 17:52:57 +08:00
parent 4d9b19ab26
commit 594fc16960
2 changed files with 247 additions and 250 deletions

View File

@ -14,6 +14,7 @@
* 【core 】 修改UUID正则更加严谨issue#I1Q1IW@Gitee
* 【core 】 ArrayUtil增加isAllNull方法issue#1004@Github
* 【core 】 CollUtil增加contains方法pr#152@Gitee
* 【core 】 ArrayUtil增加isAllNotNull方法pr#1008@Github
### Bug修复#
* 【core 】 修复原始类型转换时,转换失败没有抛出异常的问题

View File

@ -16,14 +16,16 @@ import java.util.*;
* 数组工具类
*
* @author Looly
*
*/
public class ArrayUtil {
/** 数组中元素未找到的下标,值为-1 */
/**
* 数组中元素未找到的下标值为-1
*/
public static final int INDEX_NOT_FOUND = -1;
// ---------------------------------------------------------------------- isEmpty
/**
* 数组是否为空
*
@ -148,6 +150,7 @@ public class ArrayUtil {
}
// ---------------------------------------------------------------------- isNotEmpty
/**
* 数组是否为非空
*
@ -278,8 +281,8 @@ public class ArrayUtil {
* @param <T> 数组元素类型
* @param array 被检查的数组
* @return 多个字段是否全为null
* @since 5.4.0
* @author dahuoyzs
* @since 5.4.0
*/
@SuppressWarnings("unchecked")
public static <T> boolean isAllNull(T... array) {
@ -1078,7 +1081,7 @@ public class ArrayUtil {
* <pre>
* 1修改元素对象返回集合中为修改后的对象
* </pre>
*
* <p>
* 注意此方法会修改原数组
*
* @param <T> 数组元素类型
@ -1220,6 +1223,7 @@ public class ArrayUtil {
}
// ------------------------------------------------------------------- indexOf and lastIndexOf and contains
/**
* 返回数组中指定元素所在位置未找到返回{@link #INDEX_NOT_FOUND}
*
@ -1283,7 +1287,6 @@ public class ArrayUtil {
* 数组中是否包含元素
*
* @param <T> 数组元素类型
*
* @param array 数组
* @param value 被检查的元素
* @return 是否包含
@ -1296,7 +1299,6 @@ public class ArrayUtil {
* 数组中是否包含指定元素中的任意一个
*
* @param <T> 数组元素类型
*
* @param array 数组
* @param values 被检查的多个元素
* @return 是否包含指定元素中的任意一个
@ -1725,6 +1727,7 @@ public class ArrayUtil {
}
// ------------------------------------------------------------------- Wrap and unwrap
/**
* 将原始类型数组包装为包装类型
*
@ -2186,8 +2189,8 @@ public class ArrayUtil {
* @param start 开始位置包括
* @param end 结束位置不包括
* @return 新的数组
* @since 4.2.2
* @see Arrays#copyOfRange(Object[], int, int)
* @since 4.2.2
*/
public static <T> T[] sub(T[] array, int start, int end) {
int length = length(array);
@ -2221,8 +2224,8 @@ public class ArrayUtil {
* @param start 开始位置包括
* @param end 结束位置不包括
* @return 新的数组
* @since 4.5.2
* @see Arrays#copyOfRange(Object[], int, int)
* @since 4.5.2
*/
public static byte[] sub(byte[] array, int start, int end) {
int length = length(array);
@ -2256,8 +2259,8 @@ public class ArrayUtil {
* @param start 开始位置包括
* @param end 结束位置不包括
* @return 新的数组
* @since 4.5.2
* @see Arrays#copyOfRange(Object[], int, int)
* @since 4.5.2
*/
public static int[] sub(int[] array, int start, int end) {
int length = length(array);
@ -2291,8 +2294,8 @@ public class ArrayUtil {
* @param start 开始位置包括
* @param end 结束位置不包括
* @return 新的数组
* @since 4.5.2
* @see Arrays#copyOfRange(Object[], int, int)
* @since 4.5.2
*/
public static long[] sub(long[] array, int start, int end) {
int length = length(array);
@ -2326,8 +2329,8 @@ public class ArrayUtil {
* @param start 开始位置包括
* @param end 结束位置不包括
* @return 新的数组
* @since 4.5.2
* @see Arrays#copyOfRange(Object[], int, int)
* @since 4.5.2
*/
public static short[] sub(short[] array, int start, int end) {
int length = length(array);
@ -2361,8 +2364,8 @@ public class ArrayUtil {
* @param start 开始位置包括
* @param end 结束位置不包括
* @return 新的数组
* @since 4.5.2
* @see Arrays#copyOfRange(Object[], int, int)
* @since 4.5.2
*/
public static char[] sub(char[] array, int start, int end) {
int length = length(array);
@ -2396,8 +2399,8 @@ public class ArrayUtil {
* @param start 开始位置包括
* @param end 结束位置不包括
* @return 新的数组
* @since 4.5.2
* @see Arrays#copyOfRange(Object[], int, int)
* @since 4.5.2
*/
public static double[] sub(double[] array, int start, int end) {
int length = length(array);
@ -2431,8 +2434,8 @@ public class ArrayUtil {
* @param start 开始位置包括
* @param end 结束位置不包括
* @return 新的数组
* @since 4.5.2
* @see Arrays#copyOfRange(Object[], int, int)
* @since 4.5.2
*/
public static float[] sub(float[] array, int start, int end) {
int length = length(array);
@ -2466,8 +2469,8 @@ public class ArrayUtil {
* @param start 开始位置包括
* @param end 结束位置不包括
* @return 新的数组
* @since 4.5.2
* @see Arrays#copyOfRange(Object[], int, int)
* @since 4.5.2
*/
public static boolean[] sub(boolean[] array, int start, int end) {
int length = length(array);
@ -2607,8 +2610,8 @@ public class ArrayUtil {
* @param array 数组对象
* @return 数组长度
* @throws IllegalArgumentException 如果参数不为数组抛出此异常
* @since 3.0.8
* @see Array#getLength(Object)
* @since 3.0.8
*/
public static int length(Object array) throws IllegalArgumentException {
if (null == array) {
@ -2999,12 +3002,12 @@ public class ArrayUtil {
}
// ---------------------------------------------------------------------- remove
/**
* 移除数组中对应位置的元素<br>
* copy from commons-lang
*
* @param <T> 数组元素类型
*
* @param array 数组对象可以是对象数组也可以原始类型数组
* @param index 位置如果位置小于0或者大于长度返回原数组
* @return 去掉指定元素后的新数组或原数组
@ -3159,6 +3162,7 @@ public class ArrayUtil {
}
// ---------------------------------------------------------------------- remove
/**
* 移除数组中指定的元素<br>
* 只会移除匹配到的第一个元素 copy from commons-lang
@ -3624,6 +3628,7 @@ public class ArrayUtil {
}
// ------------------------------------------------------------------------------------------------------------ min and max
/**
* 取最小值
*
@ -4242,25 +4247,16 @@ public class ArrayUtil {
}
/**
* 多个字段是否全部不为null
*
* @param <T> 数组元素类型
* @param array 被检查的数组
* @return 多个字段是否全部不为null
* @since 5.3.11
* @since 5.4.0
*/
@SuppressWarnings("unchecked")
public static <T> boolean isAllNotNull(T... array) {
if (isNotEmpty(array)) {
for (T element : array) {
if (null == element) {
return false;
}
}
}
return true;
return false == hasNull(array);
}
}