java中沒有關於修改數組長度的api,在此本人提供了修改數組長度的兩個函數:arrayAddLength()和arrayReduceLength().詳細見代碼.
import java.lang.reflect.Array;/*** Description: This class is used to adjust array length.* @author e421083458**/public class ArrayTest {/*** @param args*/public static void main(String[] args) {int a[]= new int[]{0,1,2,3,4,5};int b[]= new int[]{0,1,2,3,4,5};a = (int[]) arrayAddLength(a,2);b = (int[]) arrayReduceLength(b,2);//out print array lenghtSystem.out.println(a.length);for (int i=0;i<a.length;i++){System.out.print(a[i]);}System.out.println();System.out.println(b.length);for (int i=0;i<b.length;i++){System.out.print(b[i]);}}/*** Description: Array add length* @param oldArray* @param addLength* @return Object*/public static Object arrayAddLength(Object oldArray,int addLength) {Class c = oldArray.getClass();if(!c.isArray())return null;Class componentType = c.getComponentType();int length = Array.getLength(oldArray);int newLength = length + addLength;Object newArray = Array.newInstance(componentType,newLength);System.arraycopy(oldArray,0,newArray,0,length);return newArray;}/*** Description: Array reduce lenght* @param oldArray* @param reduceLength* @return Object*/public static Object arrayReduceLength(Object oldArray,int reduceLength) {Class c = oldArray.getClass();if(!c.isArray())return null;Class componentType = c.getComponentType();int length = Array.getLength(oldArray);int newLength = length - reduceLength;Object newArray = Array.newInstance(componentType,newLength);System.arraycopy(oldArray,0,newArray,0,newLength);return newArray;}}