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

【CORE JAVA】反射应用:通用方法-扩展数组长度

2012-09-10 10:58 253 查看
/**

* 通用数组扩展方法

* 可以使用Object类型的变量引用任何类型的对象

* 用Array.newInstance(componentType, newLength);生成具体类型的对象

* 然后用Object的变量来引用这个生成的对象

* @param a是Object类型的变量

* @return Object类型的变量

*/

static Object goodArrayGrow(Object a)

{

Class c1 = a.getClass();

if(!c1.isArray())

return null;

Class componentType = c1.getComponentType();//返回数组类型

int length = Array.getLength(a);

int newLength = length * 11 / 10 + 10;

//生成新的对应类型,新的长度的数组

Object newArray = Array.newInstance(componentType, newLength);

System.arraycopy(a, 0, newArray, 0, length);

return newArray;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐