码迷,mamicode.com
首页 > 编程语言 > 详细

Java修改数组长度

时间:2015-09-29 18:16:13      阅读:155      评论:0      收藏:0      [点我收藏+]

标签:

java中没有关于修改数组长度的api,在此本人提供了修改数组长度的两个函数:arrayAddLength()和arrayReduceLength().详细见代码. 
[java] view plaincopyprint?
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 lenght  
System.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;  
}  
}  

Java修改数组长度

标签:

原文地址:http://www.cnblogs.com/jym-sunshine/p/4846928.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!