首页 > 编程语言 > 详细

Java反射之数组的反射应用

时间:2020-03-11 13:56:13      阅读:80      评论:0      收藏:0      [点我收藏+]

上一篇我们说了Java反射之成员方法的反射
这一篇我们说一说数组的反射应用,数组的有长度等属性,所以也会有相应的方法获得这些属性,这里我们不一一列举哪些方法。我们来了解反射包中的一个类----Array类,它比util包中的Arrays少了一个s。

[一] Array类中的一些方法

static Object get(Object array, int index):返回绑定的数组对象相应下标的值。
和这一方法相似的,用于返回特定的类型值的方法:
技术分享图片
其中static int getLength(Object array) :返回数组的长度。
static Object newInstance(Class<?> componentType, int... dimensions) :创建一个特定类型、特定维度的数组。
除了get方法,还有一堆相应的set方法这里就省略介绍了。

[二] 案例演示:打印所有对象,如果是数组,则拆开打印

    public static void main(String[] args) throws Exception {
        
        Object[] obj1 = new String[]{"abc","ab","cc"};
        Object obj2 = new String("我不是数组");
        printObject(obj2);
        printObject(obj1);
    }

    private static void printObject(Object obj) {
        Class cls = obj.getClass();
        if(cls.isArray()){
            //如果是数组
            for(int i = 0;i < Array.getLength(obj);i++){
                System.out.println(Array.get(obj, i));
            }
        }else {
            //如果不是数组
            System.out.println(obj);
        }
    }

结果:

我不是数组
abc
ab
cc

下一篇介绍Java反射之对JavaBean的内省操作

Java反射之数组的反射应用

原文:https://www.cnblogs.com/leyvan/p/12461719.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!