首页 > 其他 > 详细

Arrays.copyof

时间:2014-10-09 22:22:02      阅读:453      评论:0      收藏:0      [点我收藏+]
 public static int[] copyOf(int[] original, int newLength) {
        int[] copy = new int[newLength];
        System.arraycopy(original, 0, copy, 0,
                         Math.min(original.length, newLength));
        return copy;
    }

首先new一个新数组 然后copy过去 return这个新数组

int[] strArray = new int[] {1,2,3,4};
int[] copyArray=Arrays.copyOf(strArray,2);

结果copyArray就是1,2

int[] strArray = new int[] {1,2,3,4};
int[] copyArray=Arrays.copyOf(strArray,10);

结果1 2 3 4 0 0 0 0 0 0 

不会报错 因为最后的数组总是按后面那个newLength规定的新数组来说 

 

 

用System.arraycopy:

int[] strArray = new int[] {1,2,3,4};
        int[] copyArray = new int[4];
        System.arraycopy(strArray, 0, copyArray, 0, 5);

直接报错:java.lang.ArrayIndexOutOfBoundsException

如果把最后的5改成3

copyArray :1 2 3 0 

 

Arrays.copyof

原文:http://www.cnblogs.com/sweetculiji/p/4014546.html

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