A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© pys200603027 中级黑马   /  2013-6-17 18:41  /  1251 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

看来高新技术的视频,关于数组的反射,总是有似懂未懂的感觉,大家集思广益一下

1 个回复

倒序浏览
数组是Java编程语言中的对象。与所有对象一样,它们都有类。如果您有一个数组,使用标准 getClass 方法,您可以获得该数组的类,就象任何其它对象一样。但是, 不通过现有的实例来获得类不同于其它类型的对象。即使您有一个数组类,您也不能直接对它进行太多的操作 -- 反射为标准类提供的构造函数接入不能用于数组,而且数组没有任何可接入的字段,只有基本的 java.lang.Object 方法定义用于数组对象。数组的特殊处理使用 java.lang.reflect.Array 类提供的静态方法的集合。该类中的方法使您能够创建新数组,获得数组对象的长度,读和写数组对象的索引值。下面显示了一种重新调整现有数组大小的有效方法。它使用反射来创建相同类型的新数组,然后在返回新数组之前,在老数组中复制所有数据。通过反射来扩展一个数组:public Object growArray(Object array, int size) {    Class type = array.getClass().getComponentType();    Object grown = Array.newInstance(type, size);    System.arraycopy(array, 0, grown, 0,        Math.min(Array.getLength(array), size));    return grown;}

评分

参与人数 1技术分 +1 收起 理由
孙百鑫 + 1 楼主您好~帖子长时间未作出回答,我已经将.

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马