用java的Arrays类实现数组拷贝

java.util.Arrays类有几个静态的针对不同类型数据的数组拷贝方法。

示例

用copyOf(byte[] original, int newLength)拷贝

copyOf(byte[] original, int newLength),将原数组的内容拷贝到新的数组中,截取或者填充(如果长度不够,用(byte)0来填充),返回长度为newLength新数组。拷贝完成后,新的数组和原数组的内容变动互不影响。

package com.thb;

import java.util.Arrays;

public class Demo {

    public static void main(String[] args) {
        // 构造原数组
        byte[] src = {1, 2};
        // 数组拷贝
        byte[] dest = Arrays.copyOf(src, src.length);

        // 拷贝完成后,打印目的数组的内容
        System.out.println("after array copy, content of dest array:");
        for (int i = 0; i < dest.length; i++) {
            System.out.println(dest[i]);
        }

        // 修改目的数组的内容,为的是看看是否会影响原数组的内容
        dest[0] = 3;
        dest[1] = 4;

        // 修改完目的数组的内容后,打印目的数组的内容,看修改是否生效
        System.out.println("after change dest array, content of dest array:");
        for (int i = 0; i < dest.length; i++) {
            System.out.println(dest[i]);
        }

        // 修改完目的数组的内容,打印原数组的内容,看看是否受到了影响
        System.out.println("after change dest array, content of src array:");
        for (int i = 0; i < src.length; i++) {
            System.out.println(src[i]);
        }
    }

}

运行输出:

after array copy, content of dest array:
1
2
after change dest array, content of dest array:
3
4
after change dest array, content of src array:
1
2

你可能感兴趣的:(java,开发语言)