读书人

java反照动态改变数组长度

发布时间: 2012-09-12 09:21:30 作者: rapoo

java反射动态改变数组长度

最近正在看java核心技术,以前看过的,但基本上是大概浏览,并没有深入地去了解细节,只是学学语法,难的基本上是跳过去的。现在开始重新看了,希望系统地看一遍。看到反射时,书上用反射实现了数组动态增加长度,mark一下,供以后自己学习参考。实现如下:

?

?

/** * 扩大数组长度10%+10 * @param a 数组 * @return 扩充的数组 */public static Object ArrayGrow(Object a){Class class1=a.getClass();if(!class1.isArray())return null;Class componentType=class1.getComponentType();int length=Array.getLength(a);int newLength=length*11/10+10;Object newObj=Array.newInstance(componentType, newLength);System.arraycopy(a, 0, newObj, 0, length);return newObj;}

读书人网 >编程

热点推荐