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

JAVA数组的扩容(逻辑上增加数组的长度)

2017-09-04 11:00 411 查看
package com.yh.test;

public class Test_1 {

public static void main(String[] args) {

int[] a = {1,2,3};
a = (int[])resizeArray(a,10);
a[3] = 4;
a[4] = 5;
a[5] = 6;
for (int i=0; i<a.length; i++)
System.out.println (a[i]);

}

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;
}
}


轻微解释:

a = (int[])resizeArray(a,10);


中数组长度逻辑上阔充到10;length为10.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java