您的位置:首页 > 编程语言 > Java开发

Java修改数组长度

2015-09-29 17:50 405 查看
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; } }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: