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

View File

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