public class TestDemo<T> {
public static void main(String[] args) {
Integer[] sz1 = {1, 2, 3, 4};
Integer[] sz2 = {5, 6, 7};
int[] sz3 = new int[sz1.length + sz2.length];
Integer[] integers = new TestDemo<Integer>().mergeArray(sz1, sz2, Integer.class);
System.out.println(Arrays.toString(integers));
}
public T[] mergeArray(T[] arr1, T[] arr2, Class<T> componentType) {
T[] arr = (T[]) Array.newInstance(componentType, arr1.length + arr2.length);
for (int i = 0; i < arr.length; i++) {
if (i < arr1.length) {
arr[i] = arr1[i];
} else {
arr[i] = arr2[i - arr1.length];
}
}
return arr;
}
// 合并任意数量任意类型数组
public static <T>T[] mergeArray(Class<T> componentType, T[]... arr) {
int length = 0;
for (T[] ts : arr) {
length += ts.length;
}
T[] arrNew = (T[]) Array.newInstance(componentType, length);
int index = 0;
for (T[] ts : arr) {
for (T t : ts) {
arrNew[index] = t;
index ++;
}
}
return arrNew;
}
}
Java 合并任意类型数组
于 2021-06-09 11:37:46 首次发布