1.通过反射
代码如下:
/**
*改变数组的长度
**/
private static Object changeArrLen(Object obj,int lenNew){
Class<?> objArrType = obj.getClass().getComponentType();
Object newArr = Array.newInstance(objArrType,lenNew);
int len = Array.getLength(obj);
System.arraycopy(obj,0,newArr,0,len>lenNew? lenNew:len);
return newArr;
}
/**
*打印数组
**/
private static void printArr(Object obj){
Class<?> objCls = obj.getClass();
if(!objCls.isArray()){
return;
}
for(int i = 0; i<Array.getLength(obj); i++){
System.out.print(Array.get(obj,i)+" ");
}
}
public static void main(String[] args){
int[] a = {1,2,4,3,5};
int[] newA = (int[])changeArrLen(a,6);
print(newA);
}
/**
*改变数组的长度
**/