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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 真实姓名被注册 中级黑马   /  2015-8-6 12:56  /  327 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

具有相同维数和元素类型的数组属于同一个类型,即具有相同的Class实例对象,代表数组的Class实例对象的getSuperclass()方法返回的是父类Object类对应的Class,int[ ]  i=new int[5];i.getName()方法返回[I ,表示类型是int类型的数组。

        直接打印数组对象,只能打印数组对象的类型和哈希值,Arrays.asList(Object[])可以将数组转化成容器打印,可以打印数组中每个元素的内容,JDK1.5版本中将参数变成了可变参数,<T> List<T> asList(T... a)。

        Array工具类用于完成对数组的反射操作。不确定某个对象是具体对象,还是数组对象的方式如下:

        printObject(Object obj){

           Class class=obj.getClass();

           if(class.isArray(){

                 int len=Array.getLength(obj);

                 for(int i=0;i<len;i++)

                          Array.get(obj,i);

         else

               直接打印obj;

       }

        目前还找不到比较好的方法得到数组中元素的类型。就是说我们拿Object接收一个数组对象,可以求得某个元素的具体类型,但无法取得该数组的类型。

1 个回复

正序浏览
反射是最后一章吧?楼主在基础班?
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马