reflection的应用

通过下面这个实例,可以了解reflection的使用。

数组的扩展

写一个方法返回一个长度是输入的数组长度的两倍的数组,内容要复制,要求输入和输出的参数都是Object类型。
这里可能用Java的反射(reflection)API来实现,具体点就是Array类。

    public Object expand(Object array){

        if (!array.getClass().isArray())
            return null;

        Class componentType = array.getClass().getComponentType();
        int newLength = Array.getLength(array)*2;

        Object newArray = Array.newInstance(componentType, newLength);
        System.arraycopy(array, 0, newArray, 0, Array.getLength(array));
        //System.arraycopy(array, 0, newArray, Array.getLength(array), Array.getLength(array));

        return newArray;
    }

其实,也只是几个简单的方法,不难。当然是在知道这些方法的前提下不
难。但也正是这一个个简单的东西的累加,形成了差距。要走的路还长……
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值