分享非常有用的Java程序 (关键代码)(四)---动态改变数组的大小

原文: 分享非常有用的Java程序 (关键代码)(四)---动态改变数组的大小

 

/**  * Reallocates an array with a new size, and copies the contents  
 * * of the old array to the new array.  
 * * @param oldArray  the old array, to be reallocated.  
 * * @param newSize   the new array size.  
 * * @return          A new array with the same contents.  
 * */ 
private static Object resizeArray (Object oldArray, int newSize) {      
	int oldSize = java.lang.reflect.Array.getLength(oldArray);      
	Class elementType = oldArray.getClass().getComponentType();      
	Object newArray = java.lang.reflect.Array.newInstance(           
			elementType,newSize);      
	int preserveLength = Math.min(oldSize,newSize);      
	if (preserveLength > 0)         
		System.arraycopy (oldArray,0,newArray,0,preserveLength);      
	return newArray;   }      
// Test routine for resizeArray().   
public static void main (String[] args) {      
	int[] a = {1,2,3};      
	a = (int[])resizeArray(a,5);      
	a[3] = 4;      
	a[4] = 5;      
	for (int i=0; i<a.length; i++)         
		System.out.println (a[i]);   
}

代码只是实现基础方法,详细处理还需要你去Coding哦>>

版权声明:本文为博主原创文章,未经博主允许不得转载。

你可能感兴趣的:(java)