数组扩充

 数组扩充

转自:http://blog.csdn.net/lee4755026/article/details/8307837


     public static Object expand(Object array, int newSize) {  

    if (array == null) {  
        return null;  
    }  
    Class c = array.getClass();// 返回此object运行时类  
    if (c.isArray()) {  
        // Array提供了动态创建和访问数组的  
        int len = Array.getLength(array);// 返回指定数组的长度  
        if (len >= newSize) {  
            return array;  
        } else {  
            Class classTypeClass = c.getComponentType();// 返回表示数组组件类型的class  
            // 创建一个指定组件类型和长度的新数组  
            Object newArray = Array.newInstance(classTypeClass, newSize);  
            /**
             * arraycopy(Object src,原数组 int srcPos,原数组中的起始位置 Object
             * dest,目标数组 int destPos,目标数组的起始位置 int length)要复制的数组元素的数量
             */  
            System.arraycopy(array, 0, newArray, 0, len);  
            return newArray;  
        }  
    } else {  
        throw new ClassCastException("传入的参必须是数组!");  
    }  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值