java修改数组长度/大小
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 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; } }
声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。