|
|
@@ -477,7 +477,7 @@ public class ArrayUtil {
|
|
|
* @return 新数组
|
|
|
* @since 4.0.8
|
|
|
*/
|
|
|
- @SuppressWarnings("unchecked")
|
|
|
+ @SuppressWarnings({"unchecked", "SuspiciousSystemArraycopy"})
|
|
|
public static <T> Object insert(Object array, int index, T... newElements) {
|
|
|
if (isEmpty(newElements)) {
|
|
|
return array;
|
|
|
@@ -541,6 +541,7 @@ public class ArrayUtil {
|
|
|
final int length = length(array);
|
|
|
final Object newArray = Array.newInstance(array.getClass().getComponentType(), newSize);
|
|
|
if (newSize > 0 && isNotEmpty(array)) {
|
|
|
+ //noinspection SuspiciousSystemArraycopy
|
|
|
System.arraycopy(array, 0, newArray, 0, Math.min(length, newSize));
|
|
|
}
|
|
|
return newArray;
|
|
|
@@ -656,6 +657,7 @@ public class ArrayUtil {
|
|
|
* @since 3.0.6
|
|
|
*/
|
|
|
public static Object copy(Object src, int srcPos, Object dest, int destPos, int length) {
|
|
|
+ //noinspection SuspiciousSystemArraycopy
|
|
|
System.arraycopy(src, srcPos, dest, destPos, length);
|
|
|
return dest;
|
|
|
}
|
|
|
@@ -671,6 +673,7 @@ public class ArrayUtil {
|
|
|
* @since 3.0.6
|
|
|
*/
|
|
|
public static Object copy(Object src, Object dest, int length) {
|
|
|
+ //noinspection SuspiciousSystemArraycopy
|
|
|
System.arraycopy(src, 0, dest, 0, length);
|
|
|
return dest;
|
|
|
}
|
|
|
@@ -1477,7 +1480,7 @@ public class ArrayUtil {
|
|
|
|
|
|
final Integer[] array = new Integer[length];
|
|
|
for (int i = 0; i < length; i++) {
|
|
|
- array[i] = Integer.valueOf(values[i]);
|
|
|
+ array[i] = values[i];
|
|
|
}
|
|
|
return array;
|
|
|
}
|
|
|
@@ -1499,7 +1502,7 @@ public class ArrayUtil {
|
|
|
|
|
|
final int[] array = new int[length];
|
|
|
for (int i = 0; i < length; i++) {
|
|
|
- array[i] = values[i].intValue();
|
|
|
+ array[i] = values[i];
|
|
|
}
|
|
|
return array;
|
|
|
}
|
|
|
@@ -1521,7 +1524,7 @@ public class ArrayUtil {
|
|
|
|
|
|
final Long[] array = new Long[length];
|
|
|
for (int i = 0; i < length; i++) {
|
|
|
- array[i] = Long.valueOf(values[i]);
|
|
|
+ array[i] = values[i];
|
|
|
}
|
|
|
return array;
|
|
|
}
|
|
|
@@ -1543,7 +1546,7 @@ public class ArrayUtil {
|
|
|
|
|
|
final long[] array = new long[length];
|
|
|
for (int i = 0; i < length; i++) {
|
|
|
- array[i] = values[i].longValue();
|
|
|
+ array[i] = values[i];
|
|
|
}
|
|
|
return array;
|
|
|
}
|
|
|
@@ -1565,7 +1568,7 @@ public class ArrayUtil {
|
|
|
|
|
|
final Character[] array = new Character[length];
|
|
|
for (int i = 0; i < length; i++) {
|
|
|
- array[i] = Character.valueOf(values[i]);
|
|
|
+ array[i] = values[i];
|
|
|
}
|
|
|
return array;
|
|
|
}
|
|
|
@@ -1587,7 +1590,7 @@ public class ArrayUtil {
|
|
|
|
|
|
char[] array = new char[length];
|
|
|
for (int i = 0; i < length; i++) {
|
|
|
- array[i] = values[i].charValue();
|
|
|
+ array[i] = values[i];
|
|
|
}
|
|
|
return array;
|
|
|
}
|
|
|
@@ -1609,7 +1612,7 @@ public class ArrayUtil {
|
|
|
|
|
|
final Byte[] array = new Byte[length];
|
|
|
for (int i = 0; i < length; i++) {
|
|
|
- array[i] = Byte.valueOf(values[i]);
|
|
|
+ array[i] = values[i];
|
|
|
}
|
|
|
return array;
|
|
|
}
|
|
|
@@ -1631,7 +1634,7 @@ public class ArrayUtil {
|
|
|
|
|
|
final byte[] array = new byte[length];
|
|
|
for (int i = 0; i < length; i++) {
|
|
|
- array[i] = values[i].byteValue();
|
|
|
+ array[i] = ObjectUtil.defaultIfNull(values[i], (byte)0);
|
|
|
}
|
|
|
return array;
|
|
|
}
|
|
|
@@ -1653,7 +1656,7 @@ public class ArrayUtil {
|
|
|
|
|
|
final Short[] array = new Short[length];
|
|
|
for (int i = 0; i < length; i++) {
|
|
|
- array[i] = Short.valueOf(values[i]);
|
|
|
+ array[i] = values[i];
|
|
|
}
|
|
|
return array;
|
|
|
}
|
|
|
@@ -1675,7 +1678,7 @@ public class ArrayUtil {
|
|
|
|
|
|
final short[] array = new short[length];
|
|
|
for (int i = 0; i < length; i++) {
|
|
|
- array[i] = values[i].shortValue();
|
|
|
+ array[i] = ObjectUtil.defaultIfNull(values[i], (short)0);
|
|
|
}
|
|
|
return array;
|
|
|
}
|
|
|
@@ -1697,7 +1700,7 @@ public class ArrayUtil {
|
|
|
|
|
|
final Float[] array = new Float[length];
|
|
|
for (int i = 0; i < length; i++) {
|
|
|
- array[i] = Float.valueOf(values[i]);
|
|
|
+ array[i] = values[i];
|
|
|
}
|
|
|
return array;
|
|
|
}
|
|
|
@@ -1719,7 +1722,7 @@ public class ArrayUtil {
|
|
|
|
|
|
final float[] array = new float[length];
|
|
|
for (int i = 0; i < length; i++) {
|
|
|
- array[i] = values[i].floatValue();
|
|
|
+ array[i] = ObjectUtil.defaultIfNull(values[i], 0F);
|
|
|
}
|
|
|
return array;
|
|
|
}
|
|
|
@@ -1741,7 +1744,7 @@ public class ArrayUtil {
|
|
|
|
|
|
final Double[] array = new Double[length];
|
|
|
for (int i = 0; i < length; i++) {
|
|
|
- array[i] = Double.valueOf(values[i]);
|
|
|
+ array[i] = values[i];
|
|
|
}
|
|
|
return array;
|
|
|
}
|
|
|
@@ -1763,7 +1766,7 @@ public class ArrayUtil {
|
|
|
|
|
|
final double[] array = new double[length];
|
|
|
for (int i = 0; i < length; i++) {
|
|
|
- array[i] = values[i].doubleValue();
|
|
|
+ array[i] = ObjectUtil.defaultIfNull(values[i], 0D);
|
|
|
}
|
|
|
return array;
|
|
|
}
|
|
|
@@ -1785,7 +1788,7 @@ public class ArrayUtil {
|
|
|
|
|
|
final Boolean[] array = new Boolean[length];
|
|
|
for (int i = 0; i < length; i++) {
|
|
|
- array[i] = Boolean.valueOf(values[i]);
|
|
|
+ array[i] = values[i];
|
|
|
}
|
|
|
return array;
|
|
|
}
|
|
|
@@ -1807,7 +1810,7 @@ public class ArrayUtil {
|
|
|
|
|
|
final boolean[] array = new boolean[length];
|
|
|
for (int i = 0; i < length; i++) {
|
|
|
- array[i] = values[i].booleanValue();
|
|
|
+ array[i] = ObjectUtil.defaultIfNull(values[i], false);
|
|
|
}
|
|
|
return array;
|
|
|
}
|
|
|
@@ -2841,6 +2844,7 @@ public class ArrayUtil {
|
|
|
* @throws IllegalArgumentException 参数对象不为数组对象
|
|
|
* @since 3.0.8
|
|
|
*/
|
|
|
+ @SuppressWarnings("SuspiciousSystemArraycopy")
|
|
|
public static Object remove(Object array, int index) throws IllegalArgumentException {
|
|
|
if (null == array) {
|
|
|
return null;
|
|
|
@@ -3339,9 +3343,9 @@ public class ArrayUtil {
|
|
|
throw new IllegalArgumentException("Number array must not empty !");
|
|
|
}
|
|
|
T min = numberArray[0];
|
|
|
- for (int i = 0; i < numberArray.length; i++) {
|
|
|
- if (ObjectUtil.compare(min, numberArray[i]) > 0) {
|
|
|
- min = numberArray[i];
|
|
|
+ for (T t : numberArray) {
|
|
|
+ if (ObjectUtil.compare(min, t) > 0) {
|
|
|
+ min = t;
|
|
|
}
|
|
|
}
|
|
|
return min;
|
|
|
@@ -3359,7 +3363,7 @@ public class ArrayUtil {
|
|
|
throw new IllegalArgumentException("Number array must not empty !");
|
|
|
}
|
|
|
long min = numberArray[0];
|
|
|
- for (int i = 0; i < numberArray.length; i++) {
|
|
|
+ for (int i = 1; i < numberArray.length; i++) {
|
|
|
if (min > numberArray[i]) {
|
|
|
min = numberArray[i];
|
|
|
}
|
|
|
@@ -3379,7 +3383,7 @@ public class ArrayUtil {
|
|
|
throw new IllegalArgumentException("Number array must not empty !");
|
|
|
}
|
|
|
int min = numberArray[0];
|
|
|
- for (int i = 0; i < numberArray.length; i++) {
|
|
|
+ for (int i = 1; i < numberArray.length; i++) {
|
|
|
if (min > numberArray[i]) {
|
|
|
min = numberArray[i];
|
|
|
}
|
|
|
@@ -3399,7 +3403,7 @@ public class ArrayUtil {
|
|
|
throw new IllegalArgumentException("Number array must not empty !");
|
|
|
}
|
|
|
short min = numberArray[0];
|
|
|
- for (int i = 0; i < numberArray.length; i++) {
|
|
|
+ for (int i = 1; i < numberArray.length; i++) {
|
|
|
if (min > numberArray[i]) {
|
|
|
min = numberArray[i];
|
|
|
}
|
|
|
@@ -3419,7 +3423,7 @@ public class ArrayUtil {
|
|
|
throw new IllegalArgumentException("Number array must not empty !");
|
|
|
}
|
|
|
char min = numberArray[0];
|
|
|
- for (int i = 0; i < numberArray.length; i++) {
|
|
|
+ for (int i = 1; i < numberArray.length; i++) {
|
|
|
if (min > numberArray[i]) {
|
|
|
min = numberArray[i];
|
|
|
}
|
|
|
@@ -3439,7 +3443,7 @@ public class ArrayUtil {
|
|
|
throw new IllegalArgumentException("Number array must not empty !");
|
|
|
}
|
|
|
byte min = numberArray[0];
|
|
|
- for (int i = 0; i < numberArray.length; i++) {
|
|
|
+ for (int i = 1; i < numberArray.length; i++) {
|
|
|
if (min > numberArray[i]) {
|
|
|
min = numberArray[i];
|
|
|
}
|
|
|
@@ -3459,7 +3463,7 @@ public class ArrayUtil {
|
|
|
throw new IllegalArgumentException("Number array must not empty !");
|
|
|
}
|
|
|
double min = numberArray[0];
|
|
|
- for (int i = 0; i < numberArray.length; i++) {
|
|
|
+ for (int i = 1; i < numberArray.length; i++) {
|
|
|
if (min > numberArray[i]) {
|
|
|
min = numberArray[i];
|
|
|
}
|
|
|
@@ -3479,7 +3483,7 @@ public class ArrayUtil {
|
|
|
throw new IllegalArgumentException("Number array must not empty !");
|
|
|
}
|
|
|
float min = numberArray[0];
|
|
|
- for (int i = 0; i < numberArray.length; i++) {
|
|
|
+ for (int i = 1; i < numberArray.length; i++) {
|
|
|
if (min > numberArray[i]) {
|
|
|
min = numberArray[i];
|
|
|
}
|
|
|
@@ -3500,7 +3504,7 @@ public class ArrayUtil {
|
|
|
throw new IllegalArgumentException("Number array must not empty !");
|
|
|
}
|
|
|
T max = numberArray[0];
|
|
|
- for (int i = 0; i < numberArray.length; i++) {
|
|
|
+ for (int i = 1; i < numberArray.length; i++) {
|
|
|
if (ObjectUtil.compare(max, numberArray[i]) < 0) {
|
|
|
max = numberArray[i];
|
|
|
}
|
|
|
@@ -3520,7 +3524,7 @@ public class ArrayUtil {
|
|
|
throw new IllegalArgumentException("Number array must not empty !");
|
|
|
}
|
|
|
long max = numberArray[0];
|
|
|
- for (int i = 0; i < numberArray.length; i++) {
|
|
|
+ for (int i = 1; i < numberArray.length; i++) {
|
|
|
if (max < numberArray[i]) {
|
|
|
max = numberArray[i];
|
|
|
}
|
|
|
@@ -3540,7 +3544,7 @@ public class ArrayUtil {
|
|
|
throw new IllegalArgumentException("Number array must not empty !");
|
|
|
}
|
|
|
int max = numberArray[0];
|
|
|
- for (int i = 0; i < numberArray.length; i++) {
|
|
|
+ for (int i = 1; i < numberArray.length; i++) {
|
|
|
if (max < numberArray[i]) {
|
|
|
max = numberArray[i];
|
|
|
}
|
|
|
@@ -3560,7 +3564,7 @@ public class ArrayUtil {
|
|
|
throw new IllegalArgumentException("Number array must not empty !");
|
|
|
}
|
|
|
short max = numberArray[0];
|
|
|
- for (int i = 0; i < numberArray.length; i++) {
|
|
|
+ for (int i = 1; i < numberArray.length; i++) {
|
|
|
if (max < numberArray[i]) {
|
|
|
max = numberArray[i];
|
|
|
}
|
|
|
@@ -3580,7 +3584,7 @@ public class ArrayUtil {
|
|
|
throw new IllegalArgumentException("Number array must not empty !");
|
|
|
}
|
|
|
char max = numberArray[0];
|
|
|
- for (int i = 0; i < numberArray.length; i++) {
|
|
|
+ for (int i = 1; i < numberArray.length; i++) {
|
|
|
if (max < numberArray[i]) {
|
|
|
max = numberArray[i];
|
|
|
}
|
|
|
@@ -3600,7 +3604,7 @@ public class ArrayUtil {
|
|
|
throw new IllegalArgumentException("Number array must not empty !");
|
|
|
}
|
|
|
byte max = numberArray[0];
|
|
|
- for (int i = 0; i < numberArray.length; i++) {
|
|
|
+ for (int i = 1; i < numberArray.length; i++) {
|
|
|
if (max < numberArray[i]) {
|
|
|
max = numberArray[i];
|
|
|
}
|
|
|
@@ -3620,7 +3624,7 @@ public class ArrayUtil {
|
|
|
throw new IllegalArgumentException("Number array must not empty !");
|
|
|
}
|
|
|
double max = numberArray[0];
|
|
|
- for (int i = 0; i < numberArray.length; i++) {
|
|
|
+ for (int i = 1; i < numberArray.length; i++) {
|
|
|
if (max < numberArray[i]) {
|
|
|
max = numberArray[i];
|
|
|
}
|
|
|
@@ -3640,7 +3644,7 @@ public class ArrayUtil {
|
|
|
throw new IllegalArgumentException("Number array must not empty !");
|
|
|
}
|
|
|
float max = numberArray[0];
|
|
|
- for (int i = 0; i < numberArray.length; i++) {
|
|
|
+ for (int i = 1; i < numberArray.length; i++) {
|
|
|
if (max < numberArray[i]) {
|
|
|
max = numberArray[i];
|
|
|
}
|