java 重定义数组的实现方法(与VB的ReDim相像)

Java教程 2025-08-08

复制代码代码如下:

//param objArr the expanded object of Array.

//param newLength the length of the new Array

public static Object getNewArr(Object objArr, int newLength) {

if (!objArr.getClass().isArray()) {//判断类型

return null;

}

// get the array's componentType

Class componentType = objArr.getClass().getComponentType();//获得类型

//get a newInstance of a Array object Object newArray = Array.newInstance(componentType, newLength);//新建数组对象

//copy the array

System.arraycopy(objArr, 0, newArray, 0, Array.getLength(objArr));//把原数组数据copy到新建数组中,其中newLength要大于元objArr的length,否则此句报错

return newArray;

}