Arrays.copyOf()、Arrays.copyOfRange()与System.arraycopy()用法

public class Test {
    public static void main(String[] args) {
        int[] a = {1,2,3,4,5,6,7,8};

        //数组b复制a的前五个元素,
        int[] b = Arrays.copyOf(a,5);

        //数组c复制a中以下标2开始到6结束的元素,不包含下标为6的元素,
        int[] c = Arrays.copyOfRange(a,2,6);

        //数组d从下标2开始,复制a中以下标3开始的元素,复制长度为3
        int[] d = new int[5];
        System.arraycopy(a,3,d,2,3);

        System.out.println(Arrays.toString(b));
        System.out.println(Arrays.toString(c));
        System.out.println(Arrays.toString(d));

    }
}

Arrays.copyOf()、Arrays.copyOfRange()与System.arraycopy()用法_第1张图片

值得注意的是,int[ ] b = Arrays.copyOf(a,5);第二个参数5表示新数组b的长度,当该参数大于a的长度时,多余部分补0。
此外该方法还可以对数组a自身长度扩充,常用于StringBuffer、集合中容量扩充

int[] a = {1,2,3,4,5,6};
a = Arrays.copyOf(a,10);
System.out.println(Arrays.toString(a));

在这里插入图片描述

你可能感兴趣的:(Java)