java 实现重定义数组类似于VB的ReDim
码农一个,直接上代码:
//param objArr the expanded object of Array.
//param newLength the length of the new 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
Object newArray = Array.newInstance(componentType, newLength);//新建数组对象
//copy the array
System.arraycopy(objArr, 0, newArray, 0, Array.getLength(objArr));//把原数组数据copy到新建数组中,其中newLength要大于元objArr的length,否则此句报错
return newArray;
}