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